(原标题:小菜硬件杂谈 说说VR里的异步时间扭曲)
ATW的难点和局限
前面说了实现ATW对GPU和OS的要求,接下来该说一说这个技术需要解决的技术难点了。难点主要有两个,一个是位置抖动,另一个是运动的物体和动画引起的瑕疵。
位置抖动是最明显的用基于方向的时间扭曲带来瑕疵之一,在使用VR设备时移动头部,如果在ATW产生图像帧时只考虑了旋转分量,那么任何头部平移分量都将被忽略。这就意味着当你的头部从一边移动到另一边时,哪怕只是旋转你的头或转动你的眼睛,你将看见离你很近的物体会有多个图像叠加的抖动,这种效果在临近场空间中是非常明显的,比如下面的这个潜艇截图:
位置抖动示意图
那么,这种影响有多严重?抖动的程度取决于玩家的运动方式,如果保持头部相对静止并且只看风景,这种颤动将并不显著,可以忽略不计。另外,如果看远处物体,头部运动也不太可能引起明显抖动。换句话说,如果你离场景非常的近,当你头部移动的时候,位置抖动将会相当明显,就像没有ATW一样。这种抖动也会出现在当你近距离看带纹理的地面的时候,由此产生的感觉是一个让人望而生畏、不稳定的世界,让人非常迷茫和不舒服。
另外一点是运动的物体和动画。使用ATW时,动画或者移动的物体会引起另外一个瑕疵,因为它产生的新图像只是根据前一帧图像生成的,缺少了物体的运动信息,所有的中间帧都好像是被冻结了一样,这个伪影表现为这些移动的物体,即抖动的多幅图像。因而对于运动的物体来说容易产生抖动,如下图:
运动物体抖动示意
这个虚影的影响取决于场景中物体数量、投影面积及运动速度等条件,如果物体个头小、运动速度慢,那么抖动将不是特别明显。如果物体快速移动或覆盖屏幕很大一部分,抖动将十分剧烈。虽然ATW处理近景物体是个问题,但影响并没想像的那么大。
总结:ATW不是万能的
总体来说ATW确实是一项很棒的技术,如果没有它的话,开发者在游戏开发中为了保持画面帧率只能非常保守地使用CPU和GPU性能,而ATW可以游戏更容易保持帧率稳定,从而让开发者在画面设计上更加大胆。此外,ATW还可以很大程度上减少画面抖动,从而降低使用者的眩晕感。
异步时间扭曲
然而,上文我们已经提到,ATW是有局限性的,VR应用最好是维持较高的帧率,以提供最好的渲染质量。ATW生成的中间帧也有可能导致用户有不舒服的感受,换句话说,ATW无法从根本上解决这种不舒服。为了产生一个舒适,令人信服的VR空间,开发人员仍然需要保持帧率在90Hz。
异步时间扭曲配合GPU抢占
用ATW的VR应用在运行中丢失了约5%的帧。ATW可以将大部分丢失的帧补上,从而大幅减少画面抖动,而这一切对应用来说不需要消耗更多性能或更改代码就能实现。Oculus还表示这一切只是开始,他们正与合作伙伴尝试提高ATW的运行效率。
