VR設(shè)計:如何實現(xiàn)GPU和顯示器高度集成
VR產(chǎn)業(yè)日新月異,現(xiàn)在看來,VR設(shè)備實現(xiàn)大規(guī)模量產(chǎn)也不過是個時間問題。當(dāng)然在發(fā)展初期,VR會主要以高端游戲設(shè)備的形式登場。但其應(yīng)用領(lǐng)域一定會迅速擴(kuò)展。在VR變得人盡皆知之前,讓我們放慢腳步,探討一下它目前面臨著哪些問題。
本文引用地址:http://m.butianyuan.cn/article/201706/359944.htm首先,我們要清楚延遲的定義:它指的是系統(tǒng)將頭部實際運動轉(zhuǎn)換成你在VR頭盔的屏幕上看到圖像的這段時間。這兩個事件的發(fā)生必須相當(dāng)接近,你才能像現(xiàn)實世界一樣感知不到時間差;如果延遲時間太長或者變幻不定,那么沉浸式體驗就會顯得很不自然,大腦也會啟動對抗機(jī)制,讓你產(chǎn)生惡心或暈眩——這種感覺絕不好受。行業(yè)研究顯示,“運動到畫面”的延遲時間必須持續(xù)低于20毫秒(ms),否則就無法營造流暢且自然的VR體驗。由于標(biāo)準(zhǔn)刷新頻率是60Hz,也就意味著延遲應(yīng)該為16ms。雖然這一目標(biāo)不易達(dá)成,但只要用對方法,實現(xiàn)并非不可能。
降低延遲,你需要這幾招
將一些特定技術(shù)組合在一起的時候,的確可以成功打造出低延遲的VR系統(tǒng)。首先,我們來討論一下前段緩沖渲染。包括安卓設(shè)備在內(nèi),圖像應(yīng)用通常采用雙重緩沖或三重緩沖技術(shù),讓GPU可以向離屏拷貝的旋轉(zhuǎn)緩沖區(qū)映射像素,并在顯示屏每次刷新結(jié)束時與隨屏緩沖區(qū)交換,從而實現(xiàn)流暢體驗。這一過程可以使相鄰幀的時間差更加均勻,但同時也會讓延遲增加——與VR希望實現(xiàn)的目標(biāo)截然相反。前端緩沖渲染過程中,GPU可以繞過離屏緩沖區(qū),直接對隨屏緩沖區(qū)進(jìn)行渲染,從而減少延遲。前端緩沖渲染需要與顯示屏精準(zhǔn)同步,才能保證GPU的寫入始終在顯示器讀取之前。Mali GPU的環(huán)境優(yōu)先擴(kuò)展功能可以實現(xiàn)GPU任務(wù)的迅捷調(diào)度,從而使前端緩沖渲染流程的優(yōu)先級高于緊急程度更低的任務(wù),起到改善用戶體驗的效果。
消除額外的緩沖渲染以降低延遲
第二個重要秘訣便是為您的VR設(shè)備選配合適的顯示屏類型。有機(jī)發(fā)光二極管(OLED)顯示屏是改善VR體驗的一大利器,它的工作原理和人們熟悉且技術(shù)成熟的LCD顯示器大相徑庭。利用背端的薄膜晶體管陣列,OLED顯示器上的每個像素都可充當(dāng)光源,而LCD采用的是白色LED背光源。OLED顯示器的亮度由流經(jīng)薄膜的電流強(qiáng)度決定,顏色的管理則是通過對屏幕后方的紅、綠、藍(lán)LED小燈進(jìn)行獨立調(diào)整而實現(xiàn),因此OLED可以呈現(xiàn)出高亮度、高對比度、高飽和度的色彩。此外,只要熄滅屏幕上的幾個部分,你就可以看到比阻隔背光的LCD屏更深邃的黑色。盡管這通常是OLED屏的賣點,但對VR來說也很關(guān)鍵,因為部分照明能夠更容易地實現(xiàn)較低的余暉(persistence)。全余暉顯示屏意味著屏幕持續(xù)點亮,視景只是短暫正確,但很快就過期了;而低余暉顯示屏只在視景正確的時候點亮圖像,隨即熄滅。這個過程在極高的刷新率下很難察覺,從而產(chǎn)生連續(xù)圖像的錯覺。
這一原理對降低圖像模糊度至關(guān)重要。低余暉可以允許更高的靈活性,也就是說顯示器可以在一次刷新中顯示多張部分圖像,并根據(jù)頭盔傳感器采集到的變化數(shù)據(jù)對中間幀進(jìn)行調(diào)整,因此當(dāng)用戶的視景掃過屏幕時,系統(tǒng)中的頭部位置也發(fā)生改變;而全景背光的LCD屏是無法做到這一點的。因此,實現(xiàn)低延遲VR體驗的關(guān)鍵就是利用類似時間扭曲的進(jìn)程,以分塊或分條的形式渲染前端緩沖區(qū)并驅(qū)動OLED屏。采用這種方法,屏幕上看到的圖像可以極快地適應(yīng)頭部轉(zhuǎn)動,沒有任何其他方法可與之相媲美。
異步時間扭曲技術(shù)
接下來要討論的關(guān)鍵技術(shù)是異步時間扭曲技術(shù)。由于沉浸式VR應(yīng)用的場景變化相對平緩,因此視景間的圖像變化量較小,也相對更容易預(yù)測。時間扭曲(Warping)指的是,將之前頭部位置渲染的圖像進(jìn)行位移以匹配新的頭部位置。這個過程可以一定程度上分離應(yīng)用幀率與刷新率之間的聯(lián)系,實現(xiàn)系統(tǒng)低延遲,滿足特定的應(yīng)用場景。這種位移只對頭部轉(zhuǎn)動做出反應(yīng),而對頭部位置或場景動畫的變化無動于衷。盡管時間扭曲也是一種權(quán)宜之計,但不失為一個有效的安全保障,而且可以令以30FPS幀率運行的設(shè)備(至少是部分)呈現(xiàn)以60FPS以上幀率追蹤用戶頭部運動的體驗。
VR技術(shù)的秘密武器
本文中,我們探討了如何實現(xiàn)GPU和顯示器之間的深度集成,但這只是問題的冰山一角。如果我們想播放視頻(可能是受DRM保護(hù)的視頻),并集成系統(tǒng)通知,那么問題就變得復(fù)雜多了。高質(zhì)量的VR支持需要多媒體產(chǎn)品具備強(qiáng)大的同步能力和高效利用帶寬通信的能力,不僅是為了給最終用戶營造最佳體驗,同時也為了最大程度提高電源效率和性能。借助ARM幀緩沖器壓縮(AFBC)和ARM TrustZone 等高效工具,ARM Mali 多媒體套裝(MMS)可以實現(xiàn)GPU、視頻和顯示器處理器的深度集成,是目前VR設(shè)備開發(fā)的領(lǐng)先工具。
評論