BlastBufferQueue 機制介紹

BBQ 機制介紹:http://www.reibang.com/p/50a30fa6952e
BBQ 原理解讀:http://www.reibang.com/p/cdc60627df90
BBQ 運用場景:http://www.reibang.com/p/384a5cd2e304

一、背景

Android S版本之前妆档,關(guān)于應用顯示方面面臨幾個問題:應用程序在緩沖區(qū)的提交中靈活性不足拨黔,窗口與應用繪制之間無法做到同步漓踢,多進程數(shù)據(jù)無法做到同步杆逗。BLAST 旨在解決這兩個問題午乓,同時簡化 SF 中的模型磅摹。

1沪铭、Android S 版本之前

  • 應用繪制緩沖區(qū)僅能通過 BufferQueue IGBPIGraphicBufferProducer 提交壮池;
  • 應用窗口Geometry的改變僅能通過事務Transaction提交;
  • 通過合并事務Transaction.merge()或延遲事務來更改應用窗口間的Geometry杀怠;
  • 多進程緩沖區(qū)之間無法做到同步椰憋。

2、Android S 或更高版本

  • 應用繪制緩沖區(qū)可以通過事務Transaction.setBuffer()進行提交赔退;
  • 應用窗口Geometry的改變可以通過BlastBufferQueue進行提交橙依;
  • 應用繪制的緩沖區(qū)和應用窗口Geometry可以進行同步;
  • 多應用繪制的緩沖區(qū)之間可以進行同步硕旗。

二窗骑、優(yōu)化場景

1、優(yōu)化SF進程處理邏輯漆枚,將BufferQueue組件架構(gòu)移到客戶端创译,由客戶端自行管理,增強了客戶端緩沖區(qū)操作的靈活性墙基,利用BlastBufferQueue機制软族,通過事務提交圖形緩沖區(qū):

應用進程提交合成

2、提供了應用繪制與WMS窗口管理之間進行同步的渠道残制。
之前的Android版本并不具備多進程之間的緩沖區(qū)與窗口幾何屬性之間的同步立砸,Android 12版本上,利用BBQ機制初茶,將應用準備提交合成的緩沖區(qū)交給事務颗祝,同時可以將事務跨進程傳遞給系統(tǒng)服務,系統(tǒng)服務會根據(jù)需要將任意窗口的幾何修改融入到該事務一并提交恼布,保證在同一幀下生效:

應用繪制數(shù)據(jù)交由WMS進行提交

3螺戳、通過System Process控制多個Client Process之間繪制的同步。

系統(tǒng)服務可以是所有進程之間的中介折汞,利用這點温峭,各應用進程之間的圖像緩沖區(qū)也可以通過BBQ機制來進行同步:

多進程數(shù)據(jù)同步提交

三、總結(jié)
BBQ 機制打通了進程已進程字支、Buffer 與 Geometry 之間的聯(lián)系凤藏,使得顯示各模塊之間自由度更高,利用該機制系統(tǒng)服務的很多邏輯也得到了進一步優(yōu)化堕伪。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末揖庄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子欠雌,更是在濱河造成了極大的恐慌蹄梢,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異禁炒,居然都是意外死亡而咆,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門幕袱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來暴备,“玉大人,你說我怎么就攤上這事们豌⊙哪恚” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵望迎,是天一觀的道長障癌。 經(jīng)常有香客問我,道長辩尊,這世上最難降的妖魔是什么涛浙? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮摄欲,結(jié)果婚禮上轿亮,老公的妹妹穿的比我還像新娘。我一直安慰自己蒿涎,他們只是感情好哀托,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布惦辛。 她就那樣靜靜地躺著劳秋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪胖齐。 梳的紋絲不亂的頭發(fā)上玻淑,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天,我揣著相機與錄音呀伙,去河邊找鬼补履。 笑死,一個胖子當著我的面吹牛剿另,可吹牛的內(nèi)容都是我干的箫锤。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼雨女,長吁一口氣:“原來是場噩夢啊……” “哼谚攒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起氛堕,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤馏臭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后讼稚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體括儒,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡绕沈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了帮寻。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乍狐。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖规婆,靈堂內(nèi)的尸體忽然破棺而出澜躺,到底是詐尸還是另有隱情,我是刑警寧澤抒蚜,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布掘鄙,位于F島的核電站,受9級特大地震影響嗡髓,放射性物質(zhì)發(fā)生泄漏操漠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一饿这、第九天 我趴在偏房一處隱蔽的房頂上張望浊伙。 院中可真熱鬧,春花似錦长捧、人聲如沸嚣鄙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哑子。三九已至,卻和暖如春肌割,著一層夾襖步出監(jiān)牢的瞬間卧蜓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工把敞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留弥奸,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓奋早,卻偏偏與公主長得像盛霎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子耽装,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容