<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 專(zhuān)題 > 用ARM Mali GPU驅動(dòng)實(shí)現移動(dòng)VR

用ARM Mali GPU驅動(dòng)實(shí)現移動(dòng)VR

作者: 時(shí)間:2017-06-08 來(lái)源:電子產(chǎn)品世界 收藏

移動(dòng)的性能要求

本文引用地址:http://dyxdggzs.com/article/201706/360265.htm

  不是一個(gè)新話(huà)題,早在上世紀90年代就有提到,那時(shí)設備還比較貴,性能也不能滿(mǎn)足比較好或者是讓人可以接受的用戶(hù)體驗。在2014、2015年,重新熱起來(lái),市場(chǎng)上可以看到Oculus Rift、SONY的PlayStation VR以及HTC的Vive等,這些設備的價(jià)格都超過(guò)500美元。

  基于手機的VR也不斷出現,像三星的Gear VR設備??梢钥吹诫S著(zhù)手機處理器能力的增加,手機VR已經(jīng)能夠提供較好的用戶(hù)體驗了,同時(shí)傳感器的技術(shù)也在不斷跟進(jìn),另外,這類(lèi)設備對功耗也有嚴格要求,需要控制在5W以?xún)取?/p>

  M認為,移動(dòng)產(chǎn)品形態(tài)是更容易被客戶(hù)接受的產(chǎn)品形態(tài)。VR包括(增強現實(shí))都能很好地拉動(dòng)高端手機市場(chǎng)的應用場(chǎng)景,這類(lèi)應用對性能的要求非常高,而且性能不只是來(lái)自于GPU,也來(lái)自于CPU,包括可能還需要攝像頭的參與,所以VR/AR是全系統的運算方案。

  如圖1,左側為VR游戲的例子,可以看到在高端的VR游戲運算的情況下,需要很強的GPU、CPU處理能力,以及很強的系統設計,所以對整個(gè)硬件的要求是非常高的;右邊是VR的360°視頻播放的應用場(chǎng)景,它除了對GPU有要求以外,對視頻編/解碼器也有較高的要求,需要高分辨率,配合VR設備得到一個(gè)沉浸式的體驗。

圖1 VR游戲與VR 360°視頻播放的比較

  因此,VR需要幾個(gè)重點(diǎn):

  第一點(diǎn)就是立體顯示是如何實(shí)現的,通過(guò)我們左右眼的渲染,使左眼和右眼的圖像通過(guò)角度的細微差別去得到這樣一個(gè)立體的視覺(jué)效果(如圖2),這對處理器的性能要求會(huì )翻番。

圖2 左右眼的立體視覺(jué)效果需要CPU處理速度翻番

  還有一點(diǎn)是對頭部動(dòng)作的捕捉,這是通過(guò)一些傳感器可以實(shí)現的。從VR的處理流程可以看到我們需要渲染左右眼兩幅圖像,這兩幅圖像通過(guò)人眼的位置對幾何圖形做了投影,再通過(guò)光學(xué)透鏡看到在屏幕上顯示的左右眼的兩幅圖像,處理過(guò)程中需要兩倍的CPU處理,同時(shí)需要兩倍幾何頂點(diǎn)的處理能力,在最后顯示的像素處理這塊,它的性能要求也是在不斷提升的。

  那么,如何得到一個(gè)好的VR體驗?第一點(diǎn)是延時(shí)。延時(shí)可能是從系統來(lái)的,也可能是從傳感器,到你的軟件運行,再到硬件的加速……整個(gè)延時(shí)你需要控制得非常小,才可以得到較好的體驗。我們現在的設備需要把延時(shí)控制在16ms,但是實(shí)際上在下一代我們看到的需求是在10ms以下。

  還有一點(diǎn)是高的幀率,現在的設備可能是在60Hz范圍內,但是在未來(lái)的設備需要達到120Hz。

  在分辨率這塊,高分辨率也是VR非常重要的需求。其實(shí)分辨率也是越高越好,目前我們看到的VR設備,1080p是一個(gè)門(mén)檻,大部分是在2K左右的分辨率,未來(lái)這個(gè)分辨率需要進(jìn)一步的達到4K的量級。

  所以延時(shí)的挑戰來(lái)自于VR全通道,可以從圖3看到從一開(kāi)始的傳感器的數據處理,再到應用層面(注:可能是UI或者是VR的應用),再到API的驅動(dòng),再到你的渲染,到后面的緩存機制,包括雙緩存到三緩存,以及最后顯示到屏幕頂上。ARM現在要做的就是和GPU相關(guān)的,也就是圖2右側藍色框內的部分,以把這部分的延遲降到最低。

圖3 可能發(fā)生延遲的部分

用Mali實(shí)現VR/AR體驗

VR體驗

  ARM很早就在參與VR產(chǎn)業(yè)了,ARM GPU是在2013年,也就是三星的Gear就已經(jīng)作為硬件的加速單元做了這樣的產(chǎn)品。

  第二點(diǎn)就是ARM基于VR技術(shù)也做了很多的貢獻,第一就是之前提到的ARM GPU的多核的可擴展的設計,能夠更好地支持不同的VR運算的要求。第二點(diǎn)是在OpenGL ES和OpenEGL這塊有很多的擴展,去減小延時(shí)。

  第三是之前提到的4倍全屏抗鋸齒或者是全屏反走樣功能,可以更好地減少體驗上的不足。

  第四點(diǎn)就是AFBC(ARM Frame Buffer Compression)的技術(shù),該技術(shù)是在全系統減少系統帶寬,可以節省功耗,同時(shí)也能夠增加整體的性能表現。

  ARM和Google在Daydream platform也有非常近的合作。

  這里再強調ARM AFBC技術(shù)。UI的帶寬節省可以到50%。GFXBench的帶寬節省可以達到46%的量級。

  VR在應用場(chǎng)景里面也是要求各種各樣IP的支持,在video這一塊,在VR這個(gè)場(chǎng)景底下也是有很多應用的方式,比如360°的VR場(chǎng)景的視頻應用。ARM video IP也是可以支持多種編碼以及解碼的功能的,可以支持2K到4K高清的內容的解碼。

AR體驗

  回到AR的應用場(chǎng)景,其實(shí)AR的應用場(chǎng)景的計算要求和VR非常像,無(wú)論從性能上,還是從低延遲的要求來(lái)看,但是AR應用是需要非常強的各種處理模塊的互動(dòng)的,包括CPU、GPU以及display的IP在里面的。ARM是通過(guò)異構運算(圖4),通過(guò)內存的一致性,能夠把所有的運算單元組合在一起,能夠提供一個(gè)最好的對AR加速的計算平臺。

圖4 通過(guò)異構運算實(shí)現AR

Mali VR的外部支持

  第一個(gè)是multiview(多畫(huà)面)的渲染的能力。首先VR是需要左右眼兩個(gè)畫(huà)面做渲染的,可能需要兩個(gè)draw-call實(shí)現這樣的功能,通過(guò)multiview這樣一個(gè)擴展的支持,我們可以通過(guò)單個(gè)的draw-call實(shí)現這兩個(gè)應用場(chǎng)景的渲染,可以極大程度上降低CPU的應用負載。

  第二個(gè)擴展是Context Priority(內容上下文優(yōu)先)的擴展。它的功能主要是現在我們在VR處理的時(shí)候需要60幀、90幀甚至120幀這樣一個(gè)高的屏幕刷新率,在處理的時(shí)候,如果這個(gè)場(chǎng)景過(guò)于復雜,我沒(méi)有辦法滿(mǎn)足這樣一個(gè)刷新率的情況下,我可以通過(guò)對前一幀的后處理,去補足當前沒(méi)有處理到的這一幀,能夠得到更好的體驗效果。

  ARM這個(gè)地方是我們的一個(gè)技術(shù)貢獻,它叫視網(wǎng)膜中央凹渲染。它可以用到前文提到的multiview(多畫(huà)面)渲染技術(shù)。如圖5,中間部分是人最關(guān)注的,我們人眼在看的時(shí)候最關(guān)注的是一個(gè)場(chǎng)景中間的,或者是你眼球中心這塊,視網(wǎng)膜也是分辨率最高的部分,因此我們可以把這部分渲染得更精細,但是它周?chē)娜搜鄄魂P(guān)注的地方,可以把它渲染得沒(méi)有那么精細,這樣可以把性能完全發(fā)揮出來(lái),得到一個(gè)更好的VR性能表現,因為整體的負載相比你全渲染整幅圖而言,你是有一個(gè)節省的,這部分節省就可以體現在你的VR的性能上。

圖5 視網(wǎng)膜中央凹渲染示例

  Mali VR SDK是免費的,之前ARM提到的很多技術(shù),包括擴展及其實(shí)現,都可以從這個(gè)SDK里面找到,這樣可以使我們開(kāi)發(fā)者很容易在開(kāi)發(fā)者項應用的時(shí)候用到這樣一些新的技術(shù)。

  另外,Enlighten(全局光照)技術(shù)對于VR的用戶(hù)體驗來(lái)講是一個(gè)非常重要的技術(shù)。Enlighten是一個(gè)非常好的能夠實(shí)現高效的全局光照的技術(shù)實(shí)現,前面提到我們VR在挑戰上是非常多的,比如刷新率低延時(shí)以及GPU這塊很重的負載,從光照這個(gè)角度來(lái)看,通過(guò)引入Enlighten,我們可以只計算一次,去渲染兩次,這樣可以很大程度上降低這樣一個(gè)負載。



關(guān)鍵詞: VR AR

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>