Meta早前发布了Application SpaceWarp(AppSW)。这种面向开发者的优化技术可以为合适的内容释放额外的计算能力。在初始测试中,AppSW为应用提供了高达70%的额外计算,而且几乎没有可感知的瑕疵。
AppSW的关键拼图之一是由应用生成运动矢量和深度。这允许应用以半帧速率运行,而合成器则可以通过帧外推和基于深度的重投影以全帧速率工作。AppSW已与v34版本一起亮相,而大量的开发者项目已经集成了所述功能。
但开发者遇到的一个问题是,应用只能为投影层生成运动矢量和深度,而AppSW无法应用于非投影(合成器)层。所以,如果通过AppSW以半帧速运行,在平移头部查看图层时可能会出现掉帧、卡顿或双重影像。这是因为应用仅以较低的速率更新面板相对于头部的位置,这会导致在多个连续合成器帧中使用过时的帧姿势。
针对所述问题,Meta提出利用DirectProjection和Compositor Layer SpaceWarp来优化AppSW。
1. DirectProjection直接投影
由于合成器具有合成器层的完整几何信息,所以它不需要应用常规重投影技术,如时间扭曲或空间扭曲,并且可以使用最新的头部姿势直接将这些层投影到最终图像。团队将其称之为DirectProjection直接投影。对于世界锁定层,由于其姿势在应用空间中固定,因此合成器可以安全地重用最后一帧中提交的姿势,并结合最近的头部姿势,直接投影所述姿势以获得最终图像。图1说明了DirectProjection直接投影的工作原理:
2. Compositor Layer SpaceWarp合成器层空间扭曲
不过,如果层相对于应用空间移动,并且重复使用旧姿势,即使使用DirectProjection,你依然会看到卡顿现象。为了解决这个问题,团队利用了与SpaceWarp空间扭曲相同的原理:外推。对于合成器层,你不需要每像素的运动矢量。相反,你可以简单地使用最后两个提交的姿势来推断它的姿势。这将为静态和移动合成器层提供超级流畅的图像(即使应用以半帧速运行)。Meta将其称之为Compositor Layer SpaceWarp合成器层空间扭曲。图2说明了合Compositor Layer SpaceWarp合成器层空间扭曲是如何与DirectProjection一起工作:
3. 结论
现在,Quest开发者可以结合利用DirectProjection(v34)和Compositor Layer SpaceWarp(v35)。请注意,DirectProjection和Compositor Layer SpaceWarp都不需要应用提供任何其他信息。它们独立于AppSW。但所述技术对于合成器层非常必要,可以避免出现卡顿,特别是当应用以较低FPS运行时。
DirectProjection和Compositor Layer SpaceWarp是对AppSW非常有用的补充。当使用AppSW时,DirectProjection和Compositor Layer SpaceWarp都会自动启用。
文章来源:映维网
评论