一种生成中间帧的技术
简单来说,ATW是一种生成中间帧的技术。当游戏画面无法保持足够的帧率时,它能产生中间帧进行弥补,从而维持较高的画面刷新率。这项技术的提出者John Carmack目前是Oculus的CTO。
ATW的主要作用是减少画面抖动,提高效率,同时保持低延迟。
ASW:ATW的进阶版
ASW可以和ATW一起将VR体验里所有视觉运动都覆盖。包括角色运动,摄像头运动,Touch控制器的运动,以及用户自身的位置运动。这样当渲染速度跟不上时,用户体验到的画面还可以保持流畅。
举个例子,看下面这个动图,这个画面显示的是,从第0帧到第1帧(相隔1/45秒),手拿一把枪从从右向左移。ASW线程会从这个运动中产生一个新的预测帧(第1帧之后的1/90秒)。ASW线程会检测枪的运动并生成一个新帧,代替程序显示在屏幕上。
之前有了ATW时,用户转头画面可以保持流畅,现在有了ASW,VR里物体的运动也可以很流畅了。
ASW也不完美
和ATW一样,ASW是自动适配所有应用的,不需要开发者做什么事。但这项技术也不是完美的。
在低于屏幕刷新率一半的情况下,ASW效果不是很好。另外,取决于显示的画面,由于不完美的帧预测,可能会出现视觉假象。典型的例子如下:
1、快速的亮度变化。闪电、摆灯、淡入淡出、闪光灯,以及其它快速的亮度变化很难为ASW进行追踪。ASW试图识别区块时,这部分画面可能会出现晃动。另外,部分半透明动画场景也可能出现类似效果。
2、物体去遮挡拖尾。“去遮挡”是个图像术语,意思是物体移开对某个区域的遮挡。当物体移动时,ASW需要有画面去填补它不再遮挡的那个区域。而ASW并不知道给这个区域填补什么,此时后面的画面就会拉长来进行填补,形成拖尾。由于45 FPS时物体移动的距离通常是很小的,这个拖尾一般看不出来。
3、重复图样的高速运动。例如在铁栏门前跑动并看着它。由于物体的一部分看起来和其它部分类似,就很难判断向哪边移动了。对ASW来说,这种错误预测极少出现,但偶尔仍会发生。
4、头部锁定的元素运动太快而无法追踪。一些应用会使用头部锁定(意即相对你的头不运动)的元素,比如驾驶舱,HUD或是菜单。如果应用试图自己处理这样的元素而没有应用Oculus SDK提供的锁定层,那么当背景相对锁定元素运动得太快,就可能会出现抖动。ASW可以进行一些弥补,但有时用户头部运动太快,导致无法很好地追踪,结果是画面不流畅。如果用Oculus SDK提供的锁定层则可以带来理想的效果。
Oculus提醒开发者不一定要规避这些场景,但需要注意它们的出现。ASW在绝大多数场景下(但并非所有场景)都可以对不足90 FPS的渲染进行弥补。ASW对抖动会有很大的改善,并且和完全本地渲染的画面相比几乎看不出区别。
网友评论