android 介面顯示過程分析

來源:互聯網
上載者:User

標籤:技術分享   ==   surface   pos   allocator   rod   通過   hardware   消費者   

 android 系統提供了一系列的繪圖渲染api,這些api支援2D繪圖和3D繪圖;那麼理解這些api是如何工作的,還是十分重要的。應用開發人員最常用的就是Canvas和OpenGL,Canvas側重於2D,而OpenGL則是全能。Canvas的繪圖操作最終會通過OpenGLRender進行轉換,轉換為OpenGL支援的動作,並由GPU渲染;也就是說Canvas也是通過OpenGL庫工作的。

  無論你使用哪種api,這些操作最終還是會渲染到Surface上。Surface代表了生產者,負責生產BufferQueue;與它對立的是作為消費者的SurfaceFlinger。

下面的圖講述了主要組件的工作流程。

 

 

Image Stream Producers  映像生產者:任何產生graphics buffer的組件,包括但不限於Canvas,OpenGL,多媒體服務,視頻解碼器。Image Stream Consumers  映像消費者: 這個映像流消費者一般指的是SurfaceFlinger系統服務,SurfaceFlinger負責組織可視Surface,並修改Display,只有SurfaceFlinger可修改DisPlay。OpenGL ES app比如相機程式,carmera也可以消耗映像流。Window Manager  負責管理系統中的Window,Window manager由Surface支援實現,Window Manager將中繼資料發動到SurfaceFlinger。Hardware Composer  用來展示子系統的硬體抽象層,SurfaceFlinger可以協助OpenGL 和GPU做已經明確的,組合資料的工作,這樣就能減輕GPU和OpenGL的工作,這樣會更省資源和電量。SurfaceFlinger工作還是利用OpenGL ES,相當於OpenGL ES 用戶端。Gralloc  graphics memory allocator 繪製記憶體產生器

android 介面顯示過程分析

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.