演講嘉賓 | 陳秋林
回顧整理 | 廖 濤
排版校對 | 李萍萍
嘉賓簡介
陳秋林,華為終端OS資深架構(gòu)師、菲爾茲Lab主任,長期從事終端OS研發(fā),先后負(fù)責(zé)LiteOS、安卓性能優(yōu)化、HMS框架、OpenHarmony視窗系統(tǒng)等架構(gòu)設(shè)計和技術(shù)開發(fā)。
文章內(nèi)容來源
第一屆開放原子開源基金會OpenHarmony技術(shù)峰會——OS內(nèi)核及視窗分論壇
正 文 內(nèi) 容
視窗繪制是圖形操作系統(tǒng)的基礎(chǔ)能力,它決定終端應(yīng)用圖形界面的顯示性能和質(zhì)量,以及用戶操作的響應(yīng)快慢和流暢體驗。在萬物智聯(lián)的新場景下,視窗繪制技術(shù)的發(fā)展有哪些挑戰(zhàn),技術(shù)上又有哪些演進(jìn)趨勢呢?華為終端OS資深架構(gòu)師陳秋林在第一屆OpenHarmony技術(shù)峰會上,分享了幾點思考。

01?
終端視窗繪制面臨的新挑戰(zhàn)
視窗系統(tǒng)(Windowing system/window system)是圖形操作系統(tǒng)的重要子系統(tǒng)之一,負(fù)責(zé)將應(yīng)用的功能界面以圖形顯示給用戶,并支持用戶對其通過觸摸、鍵盤鼠標(biāo)、語音等方式進(jìn)行交互和操控。視窗系統(tǒng)由桌面環(huán)境、GUI框架、顯示服務(wù)以及窗口管理器等4大部分組成,分別負(fù)責(zé)提供應(yīng)用及其入口管理、應(yīng)用開發(fā)框架和SDK、圖形界面繪制和顯示、窗口管理和操作控制等功能。

視窗系統(tǒng)
1.1??
高分辨率和高刷新率的普及,帶來更高的 GUI 繪制挑戰(zhàn)
視窗繪制的計算負(fù)載由屏幕分辨率、幀率以及畫面質(zhì)量等因素決定。隨著終端軟硬件發(fā)展,屏幕分辨率、幀率以及畫面質(zhì)量不斷提升,視窗繪制負(fù)載不斷升高。如6k分辨率@240Hz屏幕的視窗繪制負(fù)載比2k分辨率@60Hz增長30多倍。240Hz的刷新率要求CPU&GPU在4ms內(nèi)完成一幀的繪制,屏幕分辨率每提升1倍,GPU負(fù)載和DDR帶寬將提高4倍。
1.2??
跨設(shè)備協(xié)同和跨系統(tǒng)生態(tài)融合,對視窗的跨設(shè)備和跨系統(tǒng)能力提出挑戰(zhàn)
萬物智聯(lián)新場景下,用戶終端設(shè)備種類多,需要支持以用戶中心的多設(shè)備協(xié)同體驗。要求視窗系統(tǒng)提供分布式窗口的能力,以支持窗口級跨設(shè)備流轉(zhuǎn)。此外,PC上不可避免生態(tài)兼容問題,如PC上要兼容Linux應(yīng)用、windows應(yīng)用或安卓應(yīng)用。這要求視窗系統(tǒng)具備多源窗口融合管理的能力。這兩方面體驗與用戶期望還存在較大差距,需要進(jìn)一步思考在視窗系統(tǒng)上如何做創(chuàng)新。
1.3??
智能座艙等場景 2D/3D UI 融合,對視窗繪制提出新的性能挑戰(zhàn)
目前,智能座艙的架構(gòu)從“多芯多屏”向“一芯多屏”+“跨域融合”發(fā)展。該趨勢下,上層應(yīng)用將變得更加復(fù)雜:
(1)儀表域中2D儀表和3D酷炫車體融合顯示;
(2)中控域360AR全景顯示,2D菜單按鈕與3D AR內(nèi)容融合顯示;
(3)HUD域顯示信息與3D場景融合顯示。
在硬件總體算力下降但視窗繪制負(fù)載大幅提升的情況下,視窗系統(tǒng)如何實現(xiàn)“一芯多屏”、2D/3D UI融合的流暢體驗?zāi)兀?/p>
“一芯多屏”架構(gòu)
1.4??
沉浸式場景,帶來新的交互變化,對視窗提出新訴求。
沉浸式XR應(yīng)用,與普通終端應(yīng)用在顯示和交互上均有顯著區(qū)別。沉浸式應(yīng)用面對的是2D、3D融合空間,需要用2D屏幕觸控操控3D對象,操控點可能在三維空間或三維模型上的某一個不規(guī)則面上,如何確定操作對象呢?這涉及三維空間焦點定義問題。沉浸式場景,對視窗系統(tǒng)提出了虛實融合顯示、3D空間新交互范式以及空間感知等新訴求。

多樣化沉浸式設(shè)備
02?
Linux、安卓和 iOS 視窗繪制架構(gòu)的演進(jìn)
2.1??
Linux 視窗架構(gòu)
Linux視窗架構(gòu)是圍繞性能和生態(tài)兼容兩條線演進(jìn)的。早期使用X11協(xié)議進(jìn)行圖形渲染,后來采用DRI方式加速繪制,再到Wayland中將Render和窗口管理器集成在一起。在生態(tài)兼容方面,有Xwayland解決X11應(yīng)用與Wayland的兼容,Glamor解決與圖形API兼容等問題。

Linux視窗架構(gòu)
2.2??
Android 視窗架構(gòu)
Android視窗架構(gòu)主要圍繞性能演進(jìn)。
第1階段,即Android 3.0之前,使用CPU方式渲染UI;
第2階段,即Android 4.0開始,開啟硬件加速(GPU渲染);
第3階段,即Android 4.1,引入VSYNC和Triple Buffer;
第4階段,即Android 5.0,實現(xiàn)了Render線程和UI線程分離。
Android視窗架構(gòu)主要特點:
(1)采用分離渲染架構(gòu),每個應(yīng)用獨立執(zhí)行動畫、渲染;
(2)采用多Buffer輪轉(zhuǎn),來盡量地規(guī)避丟幀卡頓現(xiàn)象;
(4)2D渲染由Skia圖形庫承載。

Android視窗架構(gòu)
2.3??
iOS 視窗架構(gòu)
iOS視窗架構(gòu)的演進(jìn)主要聚焦在Metal和AR上的創(chuàng)新,如基于Metal的MPS及AR Kit等。與Linux和安卓上的不同點:
(1)采用統(tǒng)一渲染架構(gòu),窗口內(nèi)控件動效及跨窗口聯(lián)動動效統(tǒng)一處理;
(2)近年來大力發(fā)展AR圖形生態(tài),以AR場景應(yīng)用推動3D渲染技術(shù)演進(jìn),并通過各種Kit提供外掛式3D能力;
(3)圍繞自研GPU及新一代Metal API進(jìn)行垂直整合(軟硬協(xié)同);
(4)各類SDK及開發(fā)工具深度整合,各個Kit間互操作性好,從底層能力到系統(tǒng)框架形成整體解決方案。

iOS視窗架構(gòu)
總的來說,Linux視窗架構(gòu)圍繞性能和兼容性持續(xù)演進(jìn),Android視窗架構(gòu)圍繞性能演進(jìn),iOS視窗架構(gòu)演進(jìn)聚焦于統(tǒng)一渲染,垂直整合,與開發(fā)工具深度整合。
03?
視窗繪制新技術(shù)和趨勢
3.1??
高能效 GUI 繪制
以Android為主的當(dāng)代視窗中,GUI繪制與顯示管線的架構(gòu)復(fù)雜,流程冗長,涉及多次進(jìn)程間協(xié)同,并行化低,導(dǎo)致性能及功耗問題。此外,2D繪制的CPU與GPU間交互調(diào)用Driver Overhead高,GPU overdraw問題嚴(yán)重。針對上述傳統(tǒng)2D管線現(xiàn)存問題,需探索數(shù)據(jù)驅(qū)動2D極簡管線架構(gòu):CPU負(fù)責(zé)生成2D圖元數(shù)據(jù),通過繪制指令提交到GPU中,GPU對2D圖元數(shù)據(jù)進(jìn)行預(yù)處理、光柵化以及著色,實現(xiàn)高性能UI繪制。在實際的實驗中,相比于傳統(tǒng)2D管線,數(shù)據(jù)驅(qū)動2D極簡管線的CPU負(fù)載下降50%+,同時大幅簡化了GPU驅(qū)動。

數(shù)據(jù)驅(qū)動2D極簡管線
3.2??
分布式窗口和異構(gòu)窗口融合
多屏協(xié)同場景中,現(xiàn)有基于投屏的方案存在傳輸數(shù)據(jù)量大,功耗高、時延大以及幀率低等缺陷。需探索分布式窗口技術(shù),拉通設(shè)備間的窗口運行環(huán)境,將用戶界面窗口顯示和應(yīng)用邏輯解耦,實現(xiàn)窗口可在設(shè)備間自由流轉(zhuǎn),自適應(yīng)新設(shè)備顯示環(huán)境,且功耗/時延/刷新率優(yōu)于投屏。此外,生態(tài)應(yīng)用運行在虛擬機/容器中時,容器應(yīng)用窗口與Host系統(tǒng)原生窗口沒有統(tǒng)一管理,兩者操控體驗完全割裂,需要探索多源窗口融合技術(shù),實現(xiàn)統(tǒng)一管理,體驗一致。

異構(gòu)窗口融合架構(gòu)
3.3??
2D&3D 融合的 UI 框架
在車載智能駕駛艙場景,3D圖形結(jié)合2D UI展示各種信息,為駕駛者提供準(zhǔn)確和沉浸式駕駛體驗已成為趨勢。當(dāng)前UI開發(fā)框架對2D&3D融合場景支持仍不足,主要表現(xiàn)為:OS視窗的GUI框架以支持2D界面開發(fā)為主,缺乏3D的動態(tài)光影效果和空間深度感;而純3D界面開發(fā)框架(如Kanzi和各種游戲引擎框架)開發(fā)難度大,門檻高。因此,需進(jìn)一步探索高性能、輕量化的2D&3D融合的UI框架,以實現(xiàn)2D&3D混合UI開發(fā),需具備以下功能:
(1)提供3D場景控件,加載3D場景模型,支持真實性渲染;
(2)可將2D UI嵌入到3D場景,與3D模型子表面進(jìn)行關(guān)聯(lián)顯示;
(3)支持將2D UI控件與3D場景屬性雙向關(guān)聯(lián);
(4)2D&3D渲染管線無縫切換。

2D&3D融合UI框架
3.4??
新一代人機交互及顯示
在XR、Metaverse等新場景下,用戶交互界面是3D空間,傳統(tǒng)2D平面交互范式已無法適用。OS視窗需額外提供位姿、環(huán)境感知系統(tǒng),虛實融合顯示系統(tǒng)和新型UI組件。

人機交互及顯示方案
總的來說,在未來新場景下,視窗架構(gòu)需要圍繞:(1)極簡UI繪制管線;(2)分布式窗口,多源窗口融合;(3)2D&3D融合UI框架;(4)沉浸式場景的新的交互范式的4個趨勢進(jìn)行探索和演進(jìn)。
04?
總結(jié)
應(yīng)用場景及用戶需求的變化是視窗繪制技術(shù)演進(jìn)的主要驅(qū)動力,期待大家一起關(guān)注和參與視窗繪制技術(shù)創(chuàng)新,共同助力OS視窗更好地使能萬物互聯(lián)新場景。
E N D
審核編輯黃宇
-
Android
+關(guān)注
關(guān)注
12文章
3961瀏覽量
129429 -
Linux
+關(guān)注
關(guān)注
87文章
11443瀏覽量
212610 -
OpenHarmony
+關(guān)注
關(guān)注
26文章
3812瀏覽量
18036
發(fā)布評論請先 登錄
4G的技術(shù)演進(jìn)道路及趨勢報告
2012電源管理新趨勢
【高手問答】第7期——與行工前輩一起暢談DSP
硬件實戰(zhàn)教程(第19期)常用運放電路布局篇7
一圖看懂OpenHarmony技術(shù)峰會
2023 RISC-V中國峰會:RISC-V深圳技術(shù)分享會(同期會議)
2023 RISC-V中國峰會:深圳技術(shù)分享會(同期會議)
峰會回顧第7期 | 視窗繪制技術(shù)演進(jìn)和新趨勢
openEuler開發(fā)者峰會:中國移動戰(zhàn)略解碼助力數(shù)字經(jīng)濟發(fā)展新趨勢

嘉賓金句|OpenHarmony技術(shù)峰會——OS內(nèi)核及視窗分論壇

30s回顧OpenHarmony技術(shù)峰會精彩瞬間
峰會回顧第10期 | 開源圖形驅(qū)動在OpenHarmony上的使用和落地

峰會回顧第11期 | OpenHarmony兼容性設(shè)計與實踐

評論