原创 Android圖形顯示系統——下層顯示3:窗口系統

Android之窗口系統 要點 1.Android窗口系統通過C-S架構和一套Buffer循環機制實現,在保證安全穩定的前提下基本上做到了極致性能(無大塊內存拷貝,IPC通信內容最少)。 2.SurfaceFlinger創建La

原创 Renascence架構簡介

Renascence架構 Renascence架構是 A-GP-B 式的橋樑架構,它要求下層庫不直接對外提供接口,而是往GP庫註冊函數,上層庫用GP公式間接調用下層庫的代碼。 GP庫位於應用與lib庫之間,作爲應用調用lib庫的

原创 Android圖形顯示系統——上層顯示1:界面繪製大綱

Android顯示之應用界面繪製 越到上層,跟業務關聯越直接,代碼就越繁雜,Android上層顯示的代碼正是如此。此外,java語言本身繁複的特點(比C語言多了滿屏的try-catch,比C++少了析構處理的優雅簡潔,和更高級的語

原创 自己做的一個膚色檢測模型

膚色檢測 在人像美化中,膚色檢測有助於防止磨掉頭髮、鬍子等需要保持細節的部分,也可以使美白算法僅作用於皮膚,不對人像周邊環境產生影響。 網上找了一下膚色檢測模型,效果都太差,換了一種思維,找個訓練集,自己做一個。 訓練結果,正

原创 Android圖形顯示系統——上層顯示2:硬件加速實現

Android界面繪製的硬件加速實現 Android的界面繪製的硬件加速採取上下整合的一套流程實現 一、代碼結構 (一)Java HardwareRenderer->ThreadedRenderer:組織硬件加速渲染的類,下發創

原创 Android中讀圖片Exif信息的方法

Exif讀取類 Android提供了讀取寫入Exif的API,但很可惜,這個API只能由指定文件名讀取、寫入Exif,效率低得可憐。 不得已,把Android系統代碼裏圖庫的一段摘了過來。 有Android源碼的看源碼中 pa

原创 基於Renascence架構的SQL查詢引擎設計

基於Renascence架構的sqlite查詢優化 sqlite查詢優化方案是一開始是在Hw時設計的,但當時只實現一些簡單case,並未完成sql的普遍支持。後面考慮到這可以做爲 Renascence 架構的一個實驗場景,因此將其

原创 SIMD優化之ARM純彙編開發

ARM純彙編開發 注:這篇文章是兩年前寫的,現在更新到CSDN。當時認知不足,其中可能有不少錯誤,敬請行家指正。 爲什麼要用純彙編 開發效率高 這裏可能讓很多人大跌眼鏡了,純彙編開發效率高? 首先,這個是有限定條件的,需要反覆調優

原创 淺淡深度學習的發機機——張量計算

淺淡深度學習的發機機——張量計算 張量計算是個看似陌生,實際上很常用的事物,它包括圖形渲染的透明度混合、圖像處理的濾鏡、數學計算中的矩陣乘法、卷積等等,是圖形引擎、圖像算法、機器學習以及深度學習的基礎。如何進行高效的張量計算,是O

原创 快速矩陣乘法的研究——上

快速矩陣乘法的研究 最近的工作主要在於深度學習框架的性能優化。深度學習框架在工程的優化(內存池、SIMD、彙編、GPU、DSP等等)做到接近極限之後,突破點便集中於算法。 深度學習的性能瓶頸主要在於卷積,卷積的運算方法主要是通過

原创 Renascence架構介紹——目錄

這一系列文章是爲個人項目作一個介紹,有興趣的朋友可以關注一下。 https://github.com/jxt1234/Renascence 先寫個目錄,以後按目錄更新 1、自動編程體系設想 2、Renascence架構

原创 YUV轉RGB(NV21-ARGB)的Neon優化代碼

說明 此代碼僅限於 NV21 格式轉 ARGB 格式。 NV21 格式中,Y 單獨存儲,UV分量交錯存儲。 使用如下公式: R = Y + 1.402*(V-128);

原创 ETC1壓縮紋理格式詳解

本來以爲,ETC1作爲Android 設備的OpenGL標準,開源且最常用的的一種壓縮紋理格式,總會有人去翻譯一下khronos的文檔,讀一下代碼,給大家作個普及的,不料就是搜不到。沒辦法,儘管英文不好,還是硬啃了下文檔,把 ET

原创 自動編程體系設想

自動編程體系設想 編程的演化 編程語言的發展 隨着語言的發展,編寫的代碼將越來越精簡,而且領域化(不同領域用不同的編程語言,以達到開發效率和程序性能的最優化)。 自動編程的需求 在各種設計框架、基礎庫日益完善的情況下,上層應用

原创 Jpeg 庫的解碼OpenCL優化

libJpeg庫解碼OpenCL優化 這兩週在閒暇時基於通用的libjpeg庫重新做了一個opencl解碼實現。重新熟悉下算法。 代碼路徑 https://github.com/jxt1234/platform_external_