<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è) > EDA/PCB > 設計應用 > VR領(lǐng)域常談的異步時(shí)間扭曲技術(shù)到底是什么?

VR領(lǐng)域常談的異步時(shí)間扭曲技術(shù)到底是什么?

作者: 時(shí)間:2017-10-22 來(lái)源:網(wǎng)絡(luò ) 收藏

相信對于玩過(guò)CS的人來(lái)說(shuō),Valve并不陌生,他于去年推出一個(gè)全新的Steam beta版來(lái)回應Oculus的“異步時(shí)間扭曲”技術(shù)。說(shuō)到這,可能很多朋友對Oculus的異步時(shí)間扭曲技術(shù)感到陌生,但如果你經(jīng)常聽(tīng)國內一些技術(shù)流的創(chuàng )業(yè)公司的演講,那么你對“異步時(shí)間扭曲”這個(gè)詞肯定不會(huì )陌生。例如自稱(chēng)國內第一家掌握技術(shù)的焰火工坊,在他們的第一次發(fā)布會(huì )上CTO王明楊就提到了這項技術(shù)。當時(shí)他嘗試了進(jìn)行解釋?zhuān)髞?lái)放棄了,只說(shuō)“你們知道這很牛逼就行了”。此后CEO婁池也在各種場(chǎng)合提起,包括微信朋友圈。另外一家公司樂(lè )相也是。

本文引用地址:http://dyxdggzs.com/article/201710/367545.htm

焰火工坊CEO婁池和樂(lè )相CEO陳朝陽(yáng)的朋友圈

ATW到底牛逼在哪?

異步時(shí)間扭曲英文是Asynchronous TImewarp,簡(jiǎn)稱(chēng)ATW。簡(jiǎn)單來(lái)說(shuō),這是一種生成中間幀的技術(shù)。當游戲畫(huà)面無(wú)法保持足夠的幀率時(shí),它能產(chǎn)生中間幀進(jìn)行彌補,從而維持較高的畫(huà)面刷新率。這項技術(shù)的提出者John Carmack目前是Oculus的CTO。

在采訪(fǎng)中,王明楊解釋ATW,他是這樣說(shuō)的:

正常情況下,我們的手機大部分是60hz刷新,也就是說(shuō),在理想情況下我們的手機大概要處理有60幀/秒。那么,從數據到渲染就有 1000 /60 ~= 16.6666ms的時(shí)延。

那么,如何抵消這個(gè)時(shí)延呢?卡馬克(John Carmack)提出一種方法,通過(guò)大量采集陀螺儀數據,在樣本足夠多的情況下,就可以預測出16.66ms后你頭部應有的旋轉和位置,按照這個(gè)預測的數據來(lái)渲染,他管這個(gè)技術(shù)叫TImewarp。

然而問(wèn)題又來(lái)了,一般場(chǎng)景很復雜,我們很難保證每次都在16.66ms內完成一次渲染,也就是我們很難保證每個(gè)應用都是60fps。那么卡神又提出一個(gè)ATW,就是異步的TImewarp。

他把VR應用的渲染管線(xiàn)設計成兩個(gè)線(xiàn)程,渲染線(xiàn)程(生產(chǎn)者)和TImewarp線(xiàn)程(消費者),兩者異步工作,生產(chǎn)者生產(chǎn)足夠多的Framebuffer,消費者把生產(chǎn)者生產(chǎn)的東西做Timewarp之后貼在屏幕上。也就是說(shuō),無(wú)論你當前游戲的fps是多少,Timewarp始終被設計成保持在60fps(視刷新率而定)。

這就是ATW的核心細節,把Timewarp和產(chǎn)生Framebuffer分離,用高刷新率的Timewarp來(lái)?yè)Q取低時(shí)延。

ATW技術(shù)在VR中應用的先驅是Oculus,早在兩年多以前他們就在Gear VR上應用了這項技術(shù),直到去年3月25日宣布在PC端的SDK上加入ATW的支持。

具體怎么做?

圖片來(lái)源:Oculus博客(下同)

Oculus在博客里對ATW做了詳細的解釋。如上圖所示,GPU給左右眼的畫(huà)面分別進(jìn)行渲染,然后在畫(huà)面顯示出來(lái)之前插入一個(gè)ATW的處理過(guò)程。在左邊這幀的處理中,畫(huà)面渲染及時(shí)完成,此時(shí)直接顯示就行了;中間的第二幀渲染未能及時(shí)完成,此時(shí)如果什么都不做就會(huì )出現畫(huà)面抖動(dòng),而有了ATW的話(huà),它會(huì )將前面一幀調用出來(lái)重新顯示,同時(shí)加上頭盔運動(dòng)變化,從而保持幀率。

這技術(shù)很難嗎?

據王明楊表示,ATW技術(shù)很簡(jiǎn)單,核心代碼僅5行。但如果要達到最好的效果,還需要以下幾點(diǎn):

1. GPU必須支持搶占式上下文(GPU preemption)。這個(gè)還好,大部分Mobile GPU都支持,但是桌面GPU大部分還不支持;

2. 系統最好支持主表面寫(xiě)入,這個(gè)跟GPU有一定關(guān)系,但是跟操作系統關(guān)系比較大;

3. GPU必須有較高的性能,這個(gè)很好理解,Timewarp線(xiàn)程實(shí)際上加重了渲染負擔。

Oculus先在Gear VR上實(shí)現ATW,原因就是上面的第1點(diǎn)。他們將ATW帶到PC平臺上,是在微軟、英偉達和AMD支持的情況下實(shí)現的。英偉達開(kāi)發(fā)了VRWorks,AMD則有Liquid VR。

國內廠(chǎng)商中,樂(lè )相陳朝陽(yáng)表示ARM對大朋VR提供了Front Buffer和Context Priority的支持,用以在移動(dòng)VR上實(shí)現ATW。

沒(méi)有定制硬件的焰火工坊則在Oculus的基礎上修改了一部分Timewarp的實(shí)現。“我們在渲染線(xiàn)程那里會(huì )監控Timewarp線(xiàn)程的工作情況,動(dòng)態(tài)的平衡GPU附載,保證Timewarp線(xiàn)程工作在比較高的幀率下。”王明楊說(shuō)。

有什么難點(diǎn)和局限?

聽(tīng)起來(lái)ATW是項很棒的技術(shù),但它也不是完美的。根據Oculus的博文,ATW的一個(gè)難點(diǎn)是位置抖動(dòng)(Positional Judder)。

位置抖動(dòng)是基于方向的Timewarp帶來(lái)明顯瑕疵之一。在使用VR設備時(shí),當頭部移動(dòng)了, 如果在A(yíng)TW產(chǎn)生圖像幀時(shí)只考慮了旋轉,而平移卻被忽略了。這意味著(zhù)當你的頭從一邊移動(dòng)到另一邊時(shí),你看見(jiàn)的離你很近的物體會(huì )有多個(gè)圖像的抖動(dòng),這種效果在臨近場(chǎng)空間中是非常明顯的,比如下面的這個(gè)潛艇截圖。

Gear VR比較容易用上ATW,是因為它不支持位置追蹤,而PC平臺的Oculus Rift支持。Oculus最近宣布Rift支持ATW,應該是解決了位置抖動(dòng)的問(wèn)題。

另外一點(diǎn)是運動(dòng)的物體和動(dòng)畫(huà)。使用ATW時(shí),動(dòng)畫(huà)或者移動(dòng)的物體會(huì )引起另外一個(gè)瑕疵, 因為它產(chǎn)生的新圖像只是根據前一幀圖像生成的,缺少了物體的運動(dòng)信息,所有的中間幀都好像是被凍結了一樣,因而對于運動(dòng)的物體容易產(chǎn)生抖動(dòng),見(jiàn)下圖。

不過(guò)王明楊倒是認為雖然近處物體是個(gè)局限,但影響并沒(méi)想像的那么大。

總結

總體來(lái)說(shuō)ATW確實(shí)是一項很棒的技術(shù),如果沒(méi)有它的話(huà),開(kāi)發(fā)者在游戲開(kāi)發(fā)中為了保持畫(huà)面幀率只能非常保守地使用CPU和GPU性能,而ATW可以游戲更容易保持幀率穩定,從而讓開(kāi)發(fā)者在畫(huà)面設計上更加大膽。

實(shí)際運行中Oculus發(fā)現,沒(méi)有使用ATW的app在運行中丟失了約5%的幀。ATW可以將大部分丟失的幀補上,從而大幅減少畫(huà)面抖動(dòng)。而這一切對app來(lái)說(shuō)不需要消耗更多性能或更改代碼就能實(shí)現。Oculus還表示這一切只是開(kāi)始,他們正與合作伙伴嘗試提高ATW的運行效率。為了產(chǎn)生一個(gè)舒適,令人信服的,開(kāi)發(fā)人員仍然需要保持幀率在90赫茲,如果達到90赫茲,將使VR具有很好的舒適性,這是VR存在的真正魅力。



關(guān)鍵詞: VR 虛擬現實(shí) ATW

評論


相關(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>