VR領域常談的異步時間扭曲技術到底是什麼?
發布時間:2017-02-14 責任編輯:sherry
【導讀】異步時間扭曲,簡稱ATW,簡(jian)單(dan)來(lai)說(shuo),這(zhe)是(shi)一(yi)種(zhong)生(sheng)成(cheng)中(zhong)間(jian)幀(zhen)的(de)技(ji)術(shu)。當(dang)遊(you)戲(xi)畫(hua)麵(mian)無(wu)法(fa)保(bao)持(chi)足(zu)夠(gou)的(de)幀(zhen)率(lv)時(shi),它(ta)能(neng)產(chan)生(sheng)中(zhong)間(jian)幀(zhen)進(jin)行(xing)彌(mi)補(bu),從(cong)而(er)維(wei)持(chi)較(jiao)高(gao)的(de)畫(hua)麵(mian)刷(shua)新(xin)率(lv)。
相信對於玩過CS的人來說,Valve並不陌生,他於去年推出一個全新的SteamVR beta版來回應Oculus的“異步時間扭曲”技術。說到這,可能很多朋友對Oculus的ATW異步時間扭曲技術感到陌生,但如果你經常聽國內一些技術流的VR創業公司的演講,那麼你對“異步時間扭曲”這個詞肯定不會陌生。例如自稱國內第一家掌握ATW技術的焰火工坊,在他們的第一次發布會上CTO王明楊就提到了這項技術。當時他嚐試了進行解釋,但後來放棄了,隻說“你們知道這很牛逼就行了”。此後CEO婁池也在各種場合提起ATW,包括微信朋友圈。另外一家公司樂相也是。

焰火工坊CEO婁池和樂相CEO陳朝陽的朋友圈
ATW到底牛逼在哪?
異步時間扭曲英文是Asynchronous TImewarp,簡稱ATW。簡(jian)單(dan)來(lai)說(shuo),這(zhe)是(shi)一(yi)種(zhong)生(sheng)成(cheng)中(zhong)間(jian)幀(zhen)的(de)技(ji)術(shu)。當(dang)遊(you)戲(xi)畫(hua)麵(mian)無(wu)法(fa)保(bao)持(chi)足(zu)夠(gou)的(de)幀(zhen)率(lv)時(shi),它(ta)能(neng)產(chan)生(sheng)中(zhong)間(jian)幀(zhen)進(jin)行(xing)彌(mi)補(bu),從(cong)而(er)維(wei)持(chi)較(jiao)高(gao)的(de)畫(hua)麵(mian)刷(shua)新(xin)率(lv)。這(zhe)項(xiang)技(ji)術(shu)的(de)提(ti)出(chu)者(zhe)John Carmack目前是Oculus的CTO。
在采訪中,王明楊解釋ATW,他是這樣說的:
正常情況下,我們的手機大部分是60hz刷新,也就是說,在理想情況下我們的手機大概要處理有60幀/秒。那麼,從數據到渲染就有 1000 /60 ~= 16.6666ms的時延。
那麼,如何抵消這個時延呢?卡馬克(John Carmack)提出一種方法,通過大量采集陀螺儀數據,在樣本足夠多的情況下,就可以預測出16.66ms後你頭部應有的旋轉和位置,按照這個預測的數據來渲染,他管這個技術叫TImewarp。
然而問題又來了,一般VR場景很複雜,我們很難保證每次都在16.66ms內完成一次渲染,也就是我們很難保證每個應用都是60fps。那麼卡神又提出一個ATW,就是異步的TImewarp。
他把VR應用的渲染管線設計成兩個線程,渲染線程(生產者)和TImewarp線程(消費者),兩者異步工作,生產者生產足夠多的Framebuffer,消費者把生產者生產的東西做Timewarp之後貼在屏幕上。也就是說,無論你當前遊戲的fps是多少,Timewarp始終被設計成保持在60fps(視刷新率而定)。
這就是ATW的核心細節,把Timewarp和產生Framebuffer分離,用高刷新率的Timewarp來換取低時延。
ATW技術在VR中應用的先驅是Oculus,早在兩年多以前他們就在Gear VR上應用了這項技術,直到去年3月25日宣布在PC端的SDK上加入ATW的支持。
具體怎麼做?

Oculus在博客裏對ATW做了詳細的解釋。如上圖所示,GPU給左右眼的畫麵分別進行渲染,然後在畫麵顯示出來之前插入一個ATW的處理過程。在左邊這幀的處理中,畫麵渲染及時完成,此時直接顯示就行了;中間的第二幀渲染未能及時完成,此時如果什麼都不做就會出現畫麵抖動,而有了ATW的話,它會將前麵一幀調用出來重新顯示,同時加上頭盔運動變化,從而保持幀率。
這技術很難嗎?
據王明楊表示,ATW技術很簡單,核心代碼僅5行。但如果要達到最好的效果,還需要以下幾點:
1. GPU必須支持搶占式上下文(GPU preemption)。這個還好,大部分Mobile GPU都支持,但是桌麵GPU大部分還不支持;
2. 係統最好支持主表麵寫入,這個跟GPU有一定關係,但是跟操作係統關係比較大;
3. GPU必須有較高的性能,這個很好理解,Timewarp線程實際上加重了渲染負擔。
Oculus先在Gear VR上實現ATW,原因就是上麵的第1點。他們將ATW帶到PC平台上,是在微軟、英偉達和AMD支持的情況下實現的。英偉達開發了VRWorks,AMD則有Liquid VR。
國內廠商中,樂相陳朝陽表示ARM對大朋VR提供了Front Buffer和Context Priority的支持,用以在移動VR上實現ATW。
沒有定製硬件的焰火工坊則在Oculus的基礎上修改了一部分Timewarp的實現。“我們在渲染線程那裏會監控Timewarp線程的工作情況,動態的平衡GPU附載,保證Timewarp線程工作在比較高的幀率下。”王明楊說。
有什麼難點和局限?
聽起來ATW是項很棒的技術,但它也不是完美的。根據Oculus的博文,ATW的一個難點是位置抖動(Positional Judder)。
位置抖動是基於方向的Timewarp帶來明顯瑕疵之一。在使用VR設備時,當頭部移動了, 如果在ATWchanshengtuxiangzhenshizhikaolvlexuanzhuan,erpingyiquebeihulvele。zheyiweizhedangnidetoucongyibianyidongdaolingyibianshi,nikanjiandelinihenjindewutihuiyouduogetuxiangdedoudong,zhezhongxiaoguozailinjinchangkongjianzhongshifeichangmingxiande,biruxiamiandezhegeqiantingjietu。

Gear VR比較容易用上ATW,是因為它不支持位置追蹤,而PC平台的Oculus Rift支持。Oculus最近宣布Rift支持ATW,應該是解決了位置抖動的問題。
另外一點是運動的物體和動畫。使用ATW時,動畫或者移動的物體會引起另外一個瑕疵, yinweitachanshengdexintuxiangzhishigenjuqianyizhentuxiangshengchengde,queshaolewutideyundongxinxi,suoyoudezhongjianzhendouhaoxiangshibeidongjieleyiyang,yinerduiyuyundongdewutirongyichanshengdoudong,jianxiatu。

不過王明楊倒是認為雖然近處物體是個局限,但影響並沒想像的那麼大。
總結
總體來說ATW確實是一項很棒的技術,如果沒有它的話,開發者在遊戲開發中為了保持畫麵幀率隻能非常保守地使用CPU和GPU性能,而ATW可以遊戲更容易保持幀率穩定,從而讓開發者在畫麵設計上更加大膽。
實際運行中Oculus發現,沒有使用ATW的app在運行中丟失了約5%的幀。ATW可以將大部分丟失的幀補上,從而大幅減少畫麵抖動。而這一切對app來說不需要消耗更多性能或更改代碼就能實現。Oculus還表示這一切隻是開始,他們正與合作夥伴嚐試提高ATW的運行效率。為了產生一個舒適,令人信服的虛擬現實,開發人員仍然需要保持幀率在90赫茲,如果達到90赫茲,將使VR具有很好的舒適性,這是VR存在的真正魅力。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 貿澤EIT係列新一期,探索AI如何重塑日常科技與用戶體驗
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 創新不止,創芯不已:第六屆ICDIA創芯展8月南京盛大啟幕!
- AI時代,為什麼存儲基礎設施的可靠性決定數據中心的經濟效益
- 矽典微ONELAB開發係列:為毫米波算法開發者打造的全棧工具鏈
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
微波功率管
微波開關
微波連接器
微波器件
微波三極管
微波振蕩器
微電機
微調電容
微動開關
微蜂窩
位置傳感器
溫度保險絲
溫度傳感器
溫控開關
溫控可控矽
聞泰
穩壓電源
穩壓二極管
穩壓管
無焊端子
無線充電
無線監控
無源濾波器
五金工具
物聯網
顯示模塊
顯微鏡結構
線圈
線繞電位器
線繞電阻



