当前位置:首页 > 行业资讯 > VR > 正文

ATW技术异步时间扭曲 ATW偏光器技术原理

今年3月份的GDC大会上,Oculus Rift宣布为消费者版头盔加入了异步时间扭曲(Asynchronous Timewrp,简称ATW)功能,将提升画面渲染的连贯性并增强用户沉浸感。该技术曾作为卖点出现在各大公司的宣传材料中:三星Gear VR是最早使用该项技术的移动VR设备,乐相科技表示ARM为其提出的Front Buffer和Context Priority进行了芯片定制设计,因此自家的移动VR设备支持ATW技术,焰火工坊表示其在Oculus提供的源代码上进行修改实现了对异步时间扭曲的部分支持;而Nvidia早前发布的Gameworks VR开发套件将ATW技术列为图形渲染优化中的重要内容,AMD也在其提供的虚拟现实解决方案Liquid VR中加入对ATW的支持。

异步时间扭曲本质上是一种生成中间帧,进而提升显示帧率保持画面连贯性的技术。由于遇到复杂场景时设备渲染计算的时间无法控制为一个定长,一旦其渲染速度低于屏幕刷新频率,就会发生连续两帧出现同一个画面的情况,进而用户会感受到画面的抖动,物体运动的不连贯性。而ATW技术可以由前一帧的画面场景,借助陀螺仪等惯性测量装置对人运动的测量和预测进行画面的预渲染,这可以理解为对下一帧视觉效果的“预测”。一旦发生视频帧率下降的情况,通过插入中间帧可以避免显示效果受到剧烈影响。ATW技术也让VR设备保持较低帧率运行,当用户保持稳定的运动时预测的中间帧与实际画面相差无几,可以通过相互的替代减小特定情况下GPU的运算压力。

所谓“异步”,是指ATW线程独立于渲染线程,在每次垂直同步之前,ATW线程根据渲染线程的最后一帧生成一个新的帧。通过时间扭曲和帧缓冲的分离,用高刷新频率换取较低时延。在执行中,由于第一次垂直同步时Frame N的渲染尚未完成,此时会调用经由前一帧渲染的ATW帧进行插入,而第二次时钟同步时Frame N已完成渲染,直接扫描输出,在这种情况下,一倍的渲染对应两倍的垂直同步,帧率可以在低渲染计算下得以保持。

ATW技术原理

从思路上看异步时间扭曲技术较为直接简洁,但其对GPU及操作系统的进程处理方式有特定要求。首先其要求GPU支持抢占式上下文,在上下文切换时图形处理将会被给予更高的优先权,以使得ATW需要插入的中间帧能够在正常的渲染任务间见缝插针的优先执行,避免垂直同步时中间帧队列取空的窘境。大部分Mobile GPU支持该功能而桌面GPU大多不支持,这也是ATW技术尽管由Oculus工程师提出但最先为Gear VR实现的主要原因。此外,ATW也要求操作系统支持主表面写入,Win10对该功能的支持程度优于Win8。

ATW技术也会在显示中引入一些特殊难题。首先,目前主流的基于方向的时间扭曲无法处理位置上的移动,在生成中间帧时改变图像渲染的视角不难,而对前后移动则需要加入深度测量设备,左右移动甚至会在场景中引入新的物体,这从上一帧图像中无从推断。因此对于用户发生平移时,中间帧并不准确,而与后续渲染帧的连续显示会在屏幕上引入图像叠加的抖动,其视觉效果较为明显。这可以通过要求用户保持静止使用设备而避免,但似乎在激烈的动作游戏或者VR主题公园此类要求显得不合情理。另一大问题是目前ATW技术无法处理场景中的运动物体。当基于传感器数据渲染视角时,默认用户的头部运动导致视角变化而空间是绝对静止的,但当场景中有快速移动的物体时,这种渲染方式同样会产生显示抖动。总的来讲,ATW技术能够弥补VR运行中因为渲染延时而丢失的大部分帧,在消耗很少的计算资源前提下大幅提升图像的连贯性,这也是各个厂商都瞄准该技术发力的重要原因。

发表评论

  • 人参与,条评论

热门阅读

最新文章

取消
扫码支持 支付码