VR殺手锏:‘異步時(shí)間扭曲’技術(shù)的真相是什么?
發(fā)布時(shí)間:2016-04-08 責(zé)任編輯:susan
【導(dǎo)讀】如果你經(jīng)常聽國(guó)內(nèi)一些技術(shù)流的VR創(chuàng)業(yè)公司的演講,那么你對(duì)“異步時(shí)間扭曲”(ATW)這個(gè)詞肯定不會(huì)陌生。例如自稱國(guó)內(nèi)第一家掌握ATW技術(shù)的焰火工坊,在他們的第一次發(fā)布會(huì)上CTO王明楊就提到了這項(xiàng)技術(shù)。
當(dāng)時(shí)他嘗試了進(jìn)行解釋,但后來放棄了,只說“你們知道這很牛逼就行了”。此后CEO婁池也在各種場(chǎng)合提起ATW,包括微信朋友圈。另外一家公司樂相也是。
“異步時(shí)間扭曲”這個(gè)名稱聽起來很牛逼,但了解它實(shí)際含義的人可能不多。
焰火工坊CEO婁池和樂相CEO陳朝陽(yáng)的朋友圈
一種生成中間幀的技術(shù)
異步時(shí)間扭曲英文是Asynchronous Timewarp,簡(jiǎn)稱ATW。簡(jiǎn)單來說,這是一種生成中間幀的技術(shù)。當(dāng)游戲畫面無(wú)法保持足夠的幀率時(shí),它能產(chǎn)生中間幀進(jìn)行彌補(bǔ),從而維持較高的畫面刷新率。這項(xiàng)技術(shù)的提出者John Carmack目前是Oculus的CTO。
我們采訪了王明楊來解釋ATW,他是這樣說的:
正常情況下,我們的手機(jī)大部分是60hz刷新,也就是說,在理想情況下我們的手機(jī)大概要處理有60幀/秒。那么,從數(shù)據(jù)到渲染就有 1000 /60 ~= 16.6666ms的時(shí)延。
那么,如何抵消這個(gè)時(shí)延呢?卡馬克(John Carmack)提出一種方法,通過大量采集陀螺儀數(shù)據(jù),在樣本足夠多的情況下,就可以預(yù)測(cè)出16.66ms后你頭部應(yīng)有的旋轉(zhuǎn)和位置,按照這個(gè)預(yù)測(cè)的數(shù)據(jù)來渲染,他管這個(gè)技術(shù)叫Timewarp。
然而問題又來了,一般VR場(chǎng)景很復(fù)雜,我們很難保證每次都在16.66ms內(nèi)完成一次渲染,也就是我們很難保證每個(gè)應(yīng)用都是60fps。那么卡神又提出一個(gè)ATW,就是異步的Timewarp。
他把VR應(yīng)用的渲染管線設(shè)計(jì)成兩個(gè)線程,渲染線程(生產(chǎn)者)和Timewarp線程(消費(fèi)者),兩者異步工作,生產(chǎn)者生產(chǎn)足夠多的Framebuffer,消費(fèi)者把生產(chǎn)者生產(chǎn)的東西做Timewarp之后貼在屏幕上。也就是說,無(wú)論你當(dāng)前游戲的fps是多少,Timewarp始終被設(shè)計(jì)成保持在60fps(視刷新率而定)。
這就是ATW的核心細(xì)節(jié),把Timewarp和產(chǎn)生Framebuffer分離,用高刷新率的Timewarp來?yè)Q取低時(shí)延。
ATW技術(shù)在VR中應(yīng)用的先驅(qū)是Oculus,一年多以前他們就在Gear VR上應(yīng)用了這項(xiàng)技術(shù),3月25日宣布在PC端的SDK上加入ATW的支持。
具體怎么做?
圖片來源:Oculus博客(下同)
Oculus在博客里對(duì)ATW做了詳細(xì)的解釋。如上圖所示,GPU給左右眼的畫面分別進(jìn)行渲染,然后在畫面顯示出來之前插入一個(gè)ATW的處理過程。在左邊這幀的處理中,畫面渲染及時(shí)完成,此時(shí)直接顯示就行了;中間的第二幀渲染未能及時(shí)完成,此時(shí)如果什么都不做就會(huì)出現(xiàn)畫面抖動(dòng),而有了ATW的話,它會(huì)將前面一幀調(diào)用出來重新顯示,同時(shí)加上頭盔運(yùn)動(dòng)變化,從而保持幀率。
這技術(shù)很難嗎?
據(jù)王明楊表示,ATW技術(shù)很簡(jiǎn)單,核心代碼僅5行。但如果要達(dá)到最好的效果,還需要以下幾點(diǎn):
1. GPU必須支持搶占式上下文(GPU preemption)。這個(gè)還好,大部分Mobile GPU都支持,但是桌面GPU大部分還不支持;
2. 系統(tǒng)最好支持主表面寫入,這個(gè)跟GPU有一定關(guān)系,但是跟操作系統(tǒng)關(guān)系比較大;
3. GPU必須有較高的性能,這個(gè)很好理解,Timewarp線程實(shí)際上加重了渲染負(fù)擔(dān)。
Oculus先在Gear VR上實(shí)現(xiàn)ATW,原因就是上面的第1點(diǎn)。他們將ATW帶到PC平臺(tái)上,是在微軟、英偉達(dá)和AMD支持的情況下實(shí)現(xiàn)的。英偉達(dá)開發(fā)了VRWorks,AMD則有Liquid VR。
國(guó)內(nèi)廠商中,樂相陳朝陽(yáng)表示ARM對(duì)大朋VR提供了Front Buffer和Context Priority的支持,用以在移動(dòng)VR上實(shí)現(xiàn)ATW。
沒有定制硬件的焰火工坊則在Oculus的基礎(chǔ)上修改了一部分Timewarp的實(shí)現(xiàn)。“我們?cè)阡秩揪€程那里會(huì)監(jiān)控Timewarp線程的工作情況,動(dòng)態(tài)的平衡GPU附載,保證Timewarp線程工作在比較高的幀率下。”王明楊說。
有什么難點(diǎn)和局限?
聽起來ATW是項(xiàng)很棒的技術(shù),但它也不是完美的。根據(jù)去年的一篇Oculus博文,ATW的一個(gè)難點(diǎn)是位置抖動(dòng)(Positional Judder)。
位置抖動(dòng)是基于方向的Timewarp帶來明顯瑕疵之一。在使用VR設(shè)備時(shí),當(dāng)頭部移動(dòng)了, 如果在ATW產(chǎn)生圖像幀時(shí)只考慮了旋轉(zhuǎn),而平移卻被忽略了。這意味著當(dāng)你的頭從一邊移動(dòng)到另一邊時(shí),你看見的離你很近的物體會(huì)有多個(gè)圖像的抖動(dòng),這種效果在臨近場(chǎng)空間中是非常明顯的,比如下面的這個(gè)潛艇截圖。
Gear VR比較容易用上ATW,是因?yàn)樗恢С治恢米粉?,而PC平臺(tái)的Oculus Rift支持。Oculus最近宣布Rift支持ATW,應(yīng)該是解決了位置抖動(dòng)的問題。
另外一點(diǎn)是運(yùn)動(dòng)的物體和動(dòng)畫。使用ATW時(shí),動(dòng)畫或者移動(dòng)的物體會(huì)引起另外一個(gè)瑕疵, 因?yàn)樗a(chǎn)生的新圖像只是根據(jù)前一幀圖像生成的,缺少了物體的運(yùn)動(dòng)信息,所有的中間幀都好像是被凍結(jié)了一樣,因而對(duì)于運(yùn)動(dòng)的物體容易產(chǎn)生抖動(dòng),見下圖。
不過王明楊倒是認(rèn)為雖然近處物體是個(gè)局限,但影響并沒想像的那么大。
總結(jié)
總體來說ATW確實(shí)是一項(xiàng)很棒的技術(shù),如果沒有它的話,開發(fā)者在游戲開發(fā)中為了保持畫面幀率只能非常保守地使用CPU和GPU性能,而ATW可以游戲更容易保持幀率穩(wěn)定,從而讓開發(fā)者在畫面設(shè)計(jì)上更加大膽。
實(shí)際運(yùn)行中Oculus發(fā)現(xiàn),沒有使用ATW的app在運(yùn)行中丟失了約5%的幀。ATW可以將大部分丟失的幀補(bǔ)上,從而大幅減少畫面抖動(dòng)。而這一切對(duì)app來說不需要消耗更多性能或更改代碼就能實(shí)現(xiàn)。Oculus還表示這一切只是開始,他們正與合作伙伴嘗試提高ATW的運(yùn)行效率。
特別推薦
- 授權(quán)代理商貿(mào)澤電子供應(yīng)Same Sky多樣化電子元器件
- 使用合適的窗口電壓監(jiān)控器優(yōu)化系統(tǒng)設(shè)計(jì)
- ADI電機(jī)運(yùn)動(dòng)控制解決方案 驅(qū)動(dòng)智能運(yùn)動(dòng)新時(shí)代
- 倍福推出采用 TwinSAFE SC 技術(shù)的 EtherCAT 端子模塊 EL3453-0090
- TDK推出新的X系列環(huán)保型SMD壓敏電阻
- Vishay 推出新款采用0102、0204和 0207封裝的精密薄膜MELF電阻
- Microchip推出新款交鑰匙電容式觸摸控制器產(chǎn)品 MTCH2120
技術(shù)文章更多>>
- 功率器件熱設(shè)計(jì)基礎(chǔ)(九)——功率半導(dǎo)體模塊的熱擴(kuò)散
- 準(zhǔn) Z 源逆變器的設(shè)計(jì)
- 第12講:三菱電機(jī)高壓SiC芯片技術(shù)
- 一文看懂電壓轉(zhuǎn)換的級(jí)聯(lián)和混合概念
- 意法半導(dǎo)體推出首款超低功耗生物傳感器,成為眾多新型應(yīng)用的核心所在
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
單向可控硅
刀開關(guān)
等離子顯示屏
低頻電感
低通濾波器
低音炮電路
滌綸電容
點(diǎn)膠設(shè)備
電池
電池管理系統(tǒng)
電磁蜂鳴器
電磁兼容
電磁爐危害
電動(dòng)車
電動(dòng)工具
電動(dòng)汽車
電感
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信
電流保險(xiǎn)絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖