產(chǎn)品分類(lèi)

      當(dāng)前位置: 首頁(yè) > 工業(yè)電氣產(chǎn)品 > 端子與連接器 > 線路板連接器 > FFC連接器

      類(lèi)型分類(lèi):
      科普知識(shí)
      數(shù)據(jù)分類(lèi):
      FFC連接器

      VR殺手锏:‘異步時(shí)間扭曲’技術(shù)的真相是什么?

      發(fā)布日期:2022-04-17 點(diǎn)擊率:44

      【導(dǎo)讀】如果你經(jīng)常聽(tīng)國(guó)內(nèi)一些技術(shù)流的VR創(chuàng)業(yè)公司的演講,那么你對(duì)“異步時(shí)間扭曲”(ATW)這個(gè)詞肯定不會(huì)陌生。例如自稱(chēng)國(guó)內(nèi)第一家掌握ATW技術(shù)的焰火工坊,在他們的第一次發(fā)布會(huì)上CTO王明楊就提到了這項(xiàng)技術(shù)。

       

      當(dāng)時(shí)他嘗試了進(jìn)行解釋?zhuān)髞?lái)放棄了,只說(shuō)“你們知道這很牛逼就行了”。此后CEO婁池也在各種場(chǎng)合提起ATW,包括微信朋友圈。另外一家公司樂(lè)相也是。

        

      “異步時(shí)間扭曲”這個(gè)名稱(chēng)聽(tīng)起來(lái)很牛逼,但了解它實(shí)際含義的人可能不多。

       

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

        

      一種生成中間幀的技術(shù)

        

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

        

      我們采訪了王明楊來(lái)解釋ATW,他是這樣說(shuō)的:

        

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

        

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

        

      然而問(wèn)題又來(lái)了,一般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之后貼在屏幕上。也就是說(shuō),無(wú)論你當(dāng)前游戲的fps是多少,Timewarp始終被設(shè)計(jì)成保持在60fps(視刷新率而定)。

        

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

        

      ATW技術(shù)在VR中應(yīng)用的先驅(qū)是Oculus,一年多以前他們就在Gear VR上應(yīng)用了這項(xiàng)技術(shù),3月25日宣布在PC端的SDK上加入ATW的支持。

        

      具體怎么做?

        

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

        

      Oculus在博客里對(duì)ATW做了詳細(xì)的解釋。如上圖所示,GPU給左右眼的畫(huà)面分別進(jìn)行渲染,然后在畫(huà)面顯示出來(lái)之前插入一個(gè)ATW的處理過(guò)程。在左邊這幀的處理中,畫(huà)面渲染及時(shí)完成,此時(shí)直接顯示就行了;中間的第二幀渲染未能及時(shí)完成,此時(shí)如果什么都不做就會(huì)出現(xiàn)畫(huà)面抖動(dòng),而有了ATW的話,它會(huì)將前面一幀調(diào)用出來(lái)重新顯示,同時(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)最好支持主表面寫(xiě)入,這個(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á)開(kāi)發(fā)了VRWorks,AMD則有Liquid VR。

        

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

        

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

       

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

        

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

        

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

        

       

      Gear VR比較容易用上ATW,是因?yàn)樗恢С治恢米粉櫍鳳C平臺(tái)的Oculus Rift支持。Oculus最近宣布Rift支持ATW,應(yīng)該是解決了位置抖動(dòng)的問(wèn)題。

        

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

        

       

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

        

      總結(jié)

        

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

        

      實(shí)際運(yùn)行中Oculus發(fā)現(xiàn),沒(méi)有使用ATW的app在運(yùn)行中丟失了約5%的幀。ATW可以將大部分丟失的幀補(bǔ)上,從而大幅減少畫(huà)面抖動(dòng)。而這一切對(duì)app來(lái)說(shuō)不需要消耗更多性能或更改代碼就能實(shí)現(xiàn)。Oculus還表示這一切只是開(kāi)始,他們正與合作伙伴嘗試提高ATW的運(yùn)行效率。

      下一篇: PLC、DCS、FCS三大控

      上一篇: 創(chuàng)新·智能·融合 第

      推薦產(chǎn)品

      更多
      主站蜘蛛池模板: 中文字幕一区二区免费| 无码人妻精品一区二区三区久久久| 亚洲天堂一区二区三区四区| 国产伦精品一区二区三区免.费| 久久久久人妻一区二区三区vr| 日美欧韩一区二去三区| 久久高清一区二区三区| 亚洲一区精品伊人久久伊人 | 波多野结衣中文一区| 亚洲一区中文字幕在线观看| 国产日韩AV免费无码一区二区| 四虎一区二区成人免费影院网址| 无码一区二区三区AV免费| 奇米精品视频一区二区三区| 国产一区二区高清在线播放| 日本精品一区二区久久久| 国模无码一区二区三区| 国产精品一区在线播放| 亚洲AV无码一区二区乱孑伦AS| 国产一区二区三区在线影院| 无码人妻一区二区三区免费视频 | 国产精品一区二区久久沈樵| 精品香蕉一区二区三区| 一区二区传媒有限公司| 国产一区二区成人| 亚洲AV香蕉一区区二区三区| 精品视频一区二区三区四区| 97一区二区三区四区久久| 亚洲日韩AV一区二区三区四区 | 国产伦理一区二区| 农村人乱弄一区二区 | 精品一区二区91| 亚洲国产一区二区视频网站| 国产成人精品久久一区二区三区av| 动漫精品一区二区三区3d| AV怡红院一区二区三区| 丰满人妻一区二区三区免费视频 | 国产成人一区二区三区高清| 亚洲男人的天堂一区二区| 日韩一本之道一区中文字幕| 91久久精品午夜一区二区|