Android GUI系統之SurfaceFlinger(9) Project Butter黃油計劃

來源:互聯網
上載者:User

1.1 SurfaceFlinger

從這一小節開始,我們正式切入SurfaceFlinger的分析。為了保持講解的連貫性,部分內容可能在前面的章節中已經有所涉及了,接下來將會對其中的細節做更多的擴充講解。

內容組織如下:

l  首先介紹Android 4.1引入的新特性(Project Butter),理解這個項目是必要的,可以說SurfaceFlinger有很大一部分的內容就是圍繞它來的

l  SurfaceFlinger的啟動過程及工作方式

l  SurfaceFlinger與BufferQueue及應用程式間的關係

l  SurfaceFlinger對VSYNC訊號的處理過程(重點)

1.1.1 ProjectButter

直譯過來,就是“黃油計劃”,為什麼叫這個名字呢?這個Project的目的是為了改善使用者抱怨最多的Android幾大缺陷之一,即UI響應速度——Google希望這一新計劃可以讓Android系統擺脫UI互動上給人帶來的“滯後”感,而能像黃油一般“順滑”。Google在2012年的I/O大會上宣布了這一計劃,並在Android 4.1中正式搭載了實現機制。

Butter中有兩個重要的組成部分,即VSync和Triple Buffering。下面先分別介紹引入它們的原因。

喜歡玩遊戲或者看電影的讀者可能遇到過這樣的情形:

某些遊戲場面好像是幾個情境“拼湊”而成的

電影畫面不連貫,好像被“割裂”了

這樣子描述有點抽象,我們引用widipedia上的一張圖來看下實際的效果:

圖 11?20 Screen Tearing執行個體

引自http://en.wikipedia.org/wiki/File:Tearing_%28simulated%29.jpg

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.