Meta為Quest開發(fā)優(yōu)化AppSW掉幀卡頓問題,確保70%性能提升
查看引用/信息源請(qǐng)點(diǎn)擊:映維網(wǎng)
利用DirectProjection和Compositor Layer SpaceWarp來優(yōu)化AppSW
(映維網(wǎng)?2021年12月15日)Meta早前發(fā)布了Application SpaceWarp(AppSW)。這種面向開發(fā)者的優(yōu)化技術(shù)可以為合適的內(nèi)容釋放額外的計(jì)算能力。在初始測(cè)試中,AppSW為應(yīng)用提供了高達(dá)70%的額外計(jì)算,而且?guī)缀鯖]有可感知的瑕疵。
AppSW的關(guān)鍵拼圖之一是由應(yīng)用生成運(yùn)動(dòng)矢量和深度。這允許應(yīng)用以半幀速率運(yùn)行,而合成器則可以通過幀外推和基于深度的重投影以全幀速率工作。AppSW已與v34版本一起亮相,而大量的開發(fā)者項(xiàng)目已經(jīng)集成了所述功能。
但開發(fā)者遇到的一個(gè)問題是,應(yīng)用只能為投影層生成運(yùn)動(dòng)矢量和深度,而AppSW無法應(yīng)用于非投影(合成器)層。所以,如果通過AppSW以半幀速運(yùn)行,在平移頭部查看圖層時(shí)可能會(huì)出現(xiàn)掉幀、卡頓或雙重影像。這是因?yàn)閼?yīng)用僅以較低的速率更新面板相對(duì)于頭部的位置,這會(huì)導(dǎo)致在多個(gè)連續(xù)合成器幀中使用過時(shí)的幀姿勢(shì)。
針對(duì)所述問題,Meta提出利用DirectProjection和Compositor Layer SpaceWarp來優(yōu)化AppSW。
1. DirectProjection直接投影
由于合成器具有合成器層的完整幾何信息,所以它不需要應(yīng)用常規(guī)重投影技術(shù),如時(shí)間扭曲或空間扭曲,并且可以使用最新的頭部姿勢(shì)直接將這些層投影到最終圖像。團(tuán)隊(duì)將其稱之為DirectProjection直接投影。對(duì)于世界鎖定層,由于其姿勢(shì)在應(yīng)用空間中固定,因此合成器可以安全地重用最后一幀中提交的姿勢(shì),并結(jié)合最近的頭部姿勢(shì),直接投影所述姿勢(shì)以獲得最終圖像。圖1說明了DirectProjection直接投影的工作原理:

2. Compositor Layer SpaceWarp合成器層空間扭曲
不過,如果層相對(duì)于應(yīng)用空間移動(dòng),并且重復(fù)使用舊姿勢(shì),即使使用DirectProjection,你依然會(huì)看到卡頓現(xiàn)象。為了解決這個(gè)問題,團(tuán)隊(duì)利用了與SpaceWarp空間扭曲相同的原理:外推。對(duì)于合成器層,你不需要每像素的運(yùn)動(dòng)矢量。相反,你可以簡單地使用最后兩個(gè)提交的姿勢(shì)來推斷它的姿勢(shì)。這將為靜態(tài)和移動(dòng)合成器層提供超級(jí)流暢的圖像(即使應(yīng)用以半幀速運(yùn)行)。Meta將其稱之為Compositor Layer SpaceWarp合成器層空間扭曲。圖2說明了合Compositor Layer SpaceWarp合成器層空間扭曲是如何與DirectProjection一起工作:

3. 結(jié)論
現(xiàn)在,Quest開發(fā)者可以結(jié)合利用DirectProjection(v34)和Compositor Layer SpaceWarp(v35)。請(qǐng)注意,DirectProjection和Compositor Layer SpaceWarp都不需要應(yīng)用提供任何其他信息。它們獨(dú)立于AppSW。但所述技術(shù)對(duì)于合成器層非常必要,可以避免出現(xiàn)卡頓,特別是當(dāng)應(yīng)用以較低FPS運(yùn)行時(shí)。
DirectProjection和Compositor Layer SpaceWarp是對(duì)AppSW非常有用的補(bǔ)充。當(dāng)使用AppSW時(shí),DirectProjection和Compositor Layer SpaceWarp都會(huì)自動(dòng)啟用。
---
原文鏈接:https://news.nweon.com/92556