通過GC Nano技術提升用戶界面體驗
GPU是提升HMI用戶體驗的基礎技術,可以實現屏幕/UI合成,包括多個源(ISP/照相機、視頻等)的多層混合、圖像過濾、字體渲染/加速、3D效果(變換、透視等)等很多其他功能。Vivante擁有一條基于GPU技術的綜合產品線,包括GC Vega系列和GC Nano系列。
本文引用地址:http://www.butianyuan.cn/article/201808/387558.htmGC Vega系列適用于需要最新、最好GPU硬件和功能的SoC,這些功能包括:OpenGL ES 3.1,完整安卓擴展包(AEP)支持,包括硬件鑲嵌/幾何著色器(TS/GS)、DirectX 12、CTM(closetothemetal) GPU編程、混合射線跟蹤、零驅動開銷、傳感器融合以及針對使用OpenVX、OpenCV或OpenCL視覺處理的GPU計算,都納入到最積極的PPA(性能、功耗和面積)和全功能設計方案中。目標市場覆蓋高端可穿戴設備和近距離/中距離移動設備、4K電視以及用于服務器虛擬化的GPU。
GC Nano系列則屬于另一范疇,適用于為具備GPU渲染的HMI/UI的可穿戴設備和IoT設備(智能家庭/家電、信息設備……)等消費類產品帶來革命性推動的器件。該內核專為在CPU、內存(片上和DDR)、電池及帶寬非常有限的資源受限型環(huán)境下工作而設計。GC Nano還進行了優(yōu)化,與需要在30/60fps及以上速率下提供UI合成加速的較小尺寸的MCU平臺配合工作。GC Nano系列的優(yōu)勢包括:
·優(yōu)化的硅片面積和功率。硅片占位極小,可使受限SoC的單位面積性能達到最佳;這就意味著,廠商可在不超出硅片/功率預算且保證靈敏、平滑的UI性能的前提下,在其設計中添加增強圖像功能。GC Nano可在超低功耗和熱量(最小動態(tài)功率和接近零的泄漏功率)下最大限度地延長電池壽命。
·智能合成。Vivante的即時模式渲染(IMR)架構通過智能化的方式,僅合成和更新發(fā)生改變的屏幕區(qū)域,減少了合成帶寬、延遲、開銷及功率。合成可以通過兩種方式進行:利用GC Nano合成所有屏幕層(圖形、背景、圖像、視頻、文本等);或通過緊耦合的設計,其中GC Nano與顯示控制器/處理器(第三方或Vivante DC核)同時工作實現UI合成。想要進一步減少帶寬,還可以通過Vivante的DEC壓縮IP核對數據進行壓縮/解壓縮。
·可穿戴和IoT 設備即用。超輕量級向量圖形(GC Nano Lite ) 和OpenGLES 2.0(GC Nano、GC Nano Ultra)驅動、SDK及工具可很容易地將可穿戴設備及物聯(lián)網設備屏幕過渡到消費級圖形界面。GC Nano包還包括教程、示例代碼及其他文檔,以幫助開發(fā)人員優(yōu)化或移植其代碼。
·為MCU/MPU平臺設計??尚遁d并極大降低系統(tǒng)資源的有效設計,包括完整UI/合成及顯示控制器集成、最小CPU開銷、無DDR且僅含閃存的配置、帶寬調制、CTM GPU驅動以及針對可穿戴/IoT設備的、可減少硅片尺寸的GPU特性。軟件代碼量極小,減少了對內存大小的限制,縮短了GPU初始化/啟動時間,同時對于需要一鍵顯示信息的屏幕,可以瞬間啟動UI合成。
·生態(tài)系統(tǒng)和軟件支持。開發(fā)人員可以利用輕量級NanoUI或OpenGL ES API進一步擴展或定制解決方案。業(yè)界對于現有Vivante產品提供的大量支持,包括覆蓋字體、插圖工具及Qt開發(fā)環(huán)境的重要合作伙伴的、針對Android、AndroidWear及嵌入式UI解決方案的GC Nano/GC Nano Ultra產品線。
·計算即用。未來幾年內,可穿戴/物聯(lián)網(處理)節(jié)點數量將以數百億個的速度增加,由于節(jié)點始終保持開啟、互聯(lián)和處理狀態(tài),數據網絡的帶寬可能成為問題。GC Nano通過在節(jié)點上進行超低功率處理(GFLOP/GINT ops),且僅根據需求發(fā)送有用的壓縮數據,可以有效緩解帶寬壓力。案例包括傳感器融合計算和圖像/視頻帶寬降低。
Vivante的軟件驅動棧、SDK以及工具包將支持NanoUI API,其可為無操作系統(tǒng)/無DDR 的GC Nano Lite提供CTM GPU加速,同時還可為更先進的解決方案(包括專有或高級操作系統(tǒng),例如嵌入式Linux、Tizen、Android、AndroidWear 及其他在最小內存空間中需要OpenGL ES 2.0+的RTOS)提供OpenGLES 2.0 API(3.x可選)。這些各種各樣的操作系統(tǒng)/無操作系統(tǒng)平臺將構成下一代可穿戴設備和物聯(lián)網的基礎,為每個人帶來獨特的最佳個性化體驗。GC Nano驅動包括主動節(jié)能、智能合成與渲染以及帶寬調制,使OEM廠商和開發(fā)人員能夠使用超輕UI/合成或3D圖形驅動為可穿戴設備和物聯(lián)網構建豐富的視覺體驗。
GC Nano的很多創(chuàng)新創(chuàng)建了一個完整“視覺”可穿戴設備MCU/SoC平臺(圖1),能夠實現PPA和軟件效率最優(yōu)化,從而改善設備的整體性能和BOM成本,同時提供最緊湊的UI圖形軟硬件開銷,不會降低或限制屏幕上的用戶體驗。隨著可穿戴設備和物聯(lián)網逐步融入人們的生活,這些新的GPU將會越來越多地應用到身邊的新奇產品中。
3D UI渲染的趨勢和重要性
下一代產品將采用智能手機、平板電腦及智能電視中精心策劃的UI設計元素,并將它們整合到物聯(lián)網設備及可穿戴設備中,使產品保持一致界面。相似的UI外觀(look -and-feel)可以減少使用學習曲線,加快設備采用速度。另外,由于不同設備的處理能力/性能水平不同,會依據較小尺寸屏幕采用最低水平配置(基準性能),但是隨著設備性能上升到操作系統(tǒng)供應商劃分的更高層級,還可添加附加特性/更高性能。
更新后的UI包括以下新特性:
·動畫圖標—為用戶輕松呈現選中的菜單項或輸入光標指向的位置,使用戶無需花費時間尋找屏幕上的光標位置。在選中圖標前,圖標可以旋轉、擺動、彈出、閃現等。
·實時動畫—動態(tài)內容可以將簡單的背景(壁紙)轉化成動態(tài)的移動場景,為用戶設備增加個性修飾。背景圖像和設計也可搭配裝飾、照明、主題及氣氛等實現個性化設置。一些大型白色家電制造商正在測試這些概念設計,希望不遠的將來能夠展現一二。
·3D效果—文本、圖標和圖像可超越簡單的陰影效果,其中,GPU功能可利用強大的著色器指令渲染,為UI各個部分增添3D特征(例如:轉盤、視差、深度模糊、部件/圖標渲染成3D/2D形狀、圖標運動的程序/模板動畫、粒子系統(tǒng)的物理仿真、透視圖等)。這些效果可以利用GCNano的超低功率OpenGL ES 2.0/3.x流水線實現。
GC Nano的架構在HMI UI合成方面表現出色,可以呈現3D UI效果并降低帶寬和延遲,詳見下文。
GC Nano帶寬計算
本節(jié)將會逐步敘述多種用戶界面場景示例,并對GC Nano GPU渲染的30和60fpsUI HMI計算系統(tǒng)帶寬。
合成方法
將評估的屏幕顯示合成有兩種選擇:第一,GPU完成所有層(或表面,包括視頻)的整個屏幕合成,顯示控制器僅將已合成的HMI U I輸出到屏幕上(圖3);第二,顯示控制器對GPU和視頻解碼器(VPU)合成的層進行最后的混合和合并,再顯示出來(圖4)。頂層示意圖未顯示DDR內存事務,但將在后續(xù)UI步驟的描述中給出。
UI帶寬計算
計算假設。GC Nano UI處理采用ARGB8(每像素32位)格式。當GC Nano進行全合成時,GPU會自動將16位YUV視頻格式轉換成32位ARGB格式。
視頻幀為YUV422(每像素16位)格式,并且與屏幕尺寸分辨率相同(GC Nano將輸入視頻作為視頻紋理對待)。最終合成的幀為ARGB8格式(每像素32位)。讀取視頻的請求突發(fā)長度為32字節(jié)。GC Nano UI請求突發(fā)長度為64位字節(jié)。寫出UI渲染和最終幀的寫長度為64字節(jié)。
這些情況假設UI渲染為32位。如果顯示格式為16位(適用于較小屏幕),則以下所列的帶寬計算將會大大降低。帶寬計算將以WVGA(800x480)和720p(1280x720)為例。本例中,需要刷新/更新的每幀UI像素的大小包括以下比例:15%(標準UI);25%; 50%(最差UI)。
·GC Nano全UI合成。圖5 描述了來/去DDR內存的數據流利用GC Nano進行整個UI合成的過程。采用這種方法的好處包括:利用GPU在圖像或視頻上進行一些前后處理、過濾、為圖像/視頻添加標準3D效果(視頻轉盤、彎曲/去彎曲等)以及增強實境(GC Nano在視頻流頂部覆蓋渲染的3D內容)。由于可以對GC Nano編程使其執(zhí)行圖像/UI相關任務,這種方法靈活度最高。
顯示控制器包含一個能夠直接從系統(tǒng)內存中讀取數據的DMA引擎,其支持多種數據格式,包括ARGB、RGB、YUV444/422/420及其重排格式。
GC Nano合成UI的架構優(yōu)勢
GPU渲染包括兩個主要架構,即瓦片紋理渲染(TBR)和直接渲染(IMR)。TBR在全幀所有相關信息都可用時,將屏幕圖像分解成方塊并進行渲染。在IMR下,圖形命令直接向GPU發(fā)布并立即執(zhí)行。Vivante架構中的技術可以剔除幀中隱藏或不可見的部分,因而不會在渲染最終將被去除的場景部分上浪費執(zhí)行、帶寬和功率等。Vivante的IMR在為最新AAA級游戲(利用全硬件加速呈現精細的幾何圖形和PC水平的圖形質量)渲染逼真的3D圖像時也具有顯著優(yōu)勢,例如其高端GC Vega內核(DirectX 11.x、OpenGL ES 3.1及安卓擴展包AEP)可支持高級GS/TS著色器等。注:GC/TS等一些高級特性不適用于GC Nano系列。
UI瓦片紋理渲染(TBR)架構
下面說明在TBR架構下渲染UI的過程。
·場景分解成塊。TBR架構將圖像分解成獨立的瓦片(小方塊)進行渲染。每個方塊都有自己的數據庫/命令列表(方塊列表),并且在GPU開始渲染和進入下一幀之前,整個幀的所有命令都需處于可用狀態(tài)。數據庫/方塊列表緩沖區(qū)的大小在渲染(可能導致溢出)前也是未知的,并且依賴于幀—簡單幀數據庫較小,而復雜幀數據庫較大。任何方塊在處理過程中發(fā)生變化都意味著整個幀數據庫需要再次更新,而且在某些情況下,需要刷新全幀并重啟。
將預處理步驟和分塊步驟相結合,可實現以下效果。圖8展現了當前幀的情況,所有的UI表面都被分割為三角形,整個幀被分塊,并準備好進行渲染。如果幀不發(fā)生任何變化(靜態(tài)UI),則可按原樣渲染。
TBR UI渲染總結
從上述步驟可看出,由于預處理的UI三角形需要首先儲存在內存中,然后在使用時會被讀取,基于TBR的GPU具有額外開銷,這就增加了UI渲染的時延。TBR GPU也需要大量的片上L2緩存來存儲整個幀(方塊)數據庫,但隨著UI復雜性增強,片上L2緩存大小(裸片面積)只能同時增加,或TBR內核只能不斷溢出至DDR內存,這會導致時延、帶寬和功率增加。TBR具備確認和追蹤U I的哪些部分(方塊)和哪些表面發(fā)生了變化的機制,可盡可能簡化預處理過程,但對于擁有很多移動區(qū)域的較新UI來說,這仍構成了限制。此外,隨著屏幕尺寸/分辨率和內容復雜性的增加,在所有屏幕上,由此導致的時延在使用統(tǒng)一UI的谷歌、微軟和其他操作系統(tǒng)平臺上甚至顯得更為明顯。
UI的直接渲染(IMR)架構
最先進的GPU使用的是IMR技術,它是基于目標的渲染技術,在PC(臺式機/筆記本)顯卡中直到Vivante的GC系列產品線上都能看到。IMR技術使GPU可以渲染逼真的圖像,并繪制屏幕上最新的復雜、動態(tài)、交互式內容。在該架構中,圖形API調用命令被直接發(fā)送至GPU,收到命令和數據后即刻進行對象渲染。這一流程顯著提升了3D渲染性能。
對UI來說,無需進行預通過處理,這消除了上一節(jié)中看到的TBR相關延遲。此外,UI中加入了許多智能事務消除機制,使得幀中的隱藏(看不到的)部分甚至不必通過GPU流水線發(fā)送;或是如果隱藏部分已經處于發(fā)送狀態(tài)(例如,UI表面發(fā)生變化),它們也可以立即丟棄掉,這樣流水線即可繼續(xù)執(zhí)行有意義的工作。
出于靈活性考慮,合成處理過程在著色器中進行,Vivante GPU可以自動增加矩形圖元,以便將整個屏幕納入考慮范圍,進而實現100%的效率(使用兩個三角形僅發(fā)揮50%的效率)。對于簡單UI和3D幀而言,內存帶寬等效于TBR架構,但對于更高級的UI和3D場景來說,TBR設計需接入遠超過IMR的外存,因為TBR的片上緩存中無法容納大量的復雜場景數據。
基于對象的IMR UI渲染。IMR GPU是基于對象的,即每個UI表面都被視為一個待渲染的個體對象。GPU收到與一個對象的命令列表后,它會立即執(zhí)行命令,并繪制出表面。與此同時,GC Nano中也會添加一個新的圖元,使矩形圖元能夠被渲染,進而實現100%的效率(使用兩個三角形繪制矩形僅有50%的效率)。
附加UI內容被視為新對象。新的UI表面(彈出式視窗、通知、新內容、新窗口等)也僅被視為對象進行處理。
IMR GPU 是下一代動態(tài)UI 的理想之選。GPU收到某一對象的命令列表后,就會立即對其進行靜態(tài)或動態(tài)渲染。同時,GPU也會對各個對象進行測試,利用各種剔除和深度/Z方法確定哪些是看得見的部分,并丟棄隱藏的部分。對象中看不見的部分會被立刻丟棄。那些最初看得見(位于GPU流水線中)但后來被隱藏(彈出通知覆蓋了一個表面)的部分會被立刻摒棄,這樣GPU就可以對另一個可視對象進行渲染。與TBR不同的是,IMR在處理前不必等待整個幀命令列表。
IMR UI渲染總結。對于動態(tài)3D UI、復雜3D圖形和映射應用等,IMR在延遲、帶寬和功率方面更具優(yōu)勢。內存消耗與內存I/O是IMR的另一明顯優(yōu)勢—對新型動態(tài)實時3D UI來說,IMR實屬不二之選;對于標準UI來說,IMR和TBR勢均力敵,但IMR 可為SoC / MCU 賦予靈活性且更適用于未來。注:在過去,TBR更適用于簡單UI和簡單的3D游戲(矩形/多邊形數量少、復雜度低),因為TBR可以將完整的幀方塊數據庫保留在芯片(L2緩存)上。但隨著領先的智能手機、平板電腦和電視的發(fā)展,UI技術也在不斷進步,這使得IMR技術越來越受歡迎。
評論