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