atw算法为啥是做vr的核心呢听说oculus因为atw算法很棒而获得高额收购和三星的合作。

AMD在过去这些年中数次提及过异步计算,异步计算的重要性也在许多支持DirectX12 和Vulkan的游戏中清晰体现,当然包括VR游戏。我们曾为AMD LiquidVR技术详细说明过异步计算的两个重要特性:
异步时间扭曲(ATW)——有助于降低延迟及减少因丢帧造成的图像抖动。Oculus的ATW解决方案使用户和开发者都感觉自然易用。快速响应队列(QRQ)——被递交到该特殊队列的任务在异步运行时将被GPU优先处理,使之与其他工作重叠。ATW在画面渲染的同时追踪用户的头部动作,并将最后一个完整的画面二次投影到用户最后一个头部位置对应的视点上。这能确保在系统不能够及时完成新一帧完整画面的渲染时,头显内依然显示最新的画面。QRQ允许二次投影的过程与显卡渲染保持一致,使执行过程尽可能地快速和有效。
Oculus Rift头显内使用的ATW技术被证实其可以有效的减少延迟并为用户提供更为舒适的VR体验,但仍有一定的局限性。尤其是其只能补偿头部移动引起的渲染场景,而不能补偿渲染场景内发生的动作。移动的物体只是在他们最后所在的位置内被二次渲染,这在一定程度上会明显降低体验质量。
AMD已经宣布对异步空间扭曲(ASW)的支持,ASW是由Oculus提出的用以补足ATW并加强其效果的技术。ASW通过前面渲染的画面去检测之前的动作信息,并通过该信息去预测下一帧画面中场景元素的位置。该技术可使二次投影画面在被完全渲染后更加精准。
ASW必要的运动检测需要巨大的计算量,并且必须在下一帧画面呈现之前的几毫秒之内完成。最新版本的LiquidVR提供了连接到强大的VR图形处理硬件(AMDRadeon GPU)的接口,它们可生成必要的运动向量而不对图形引擎造成过多负担。
目前,中国诸多VR头显厂家正在和AMD中国团队深度合作,将ASW技术运用到他们自己的产品中,预计在2017年上半年这些具有ASW技术的头显会面市。这一技术和头显厂家的结合意在提高头显质量同时在不牺牲质量前提,降低开发者开发门槛和成本,促进VR进入普通消费级。

■网友
vr是需要异步时间扭曲(Asynchronous Timewarp简称ATW),是一种生成中间帧的技术,当vr游戏或vr视频不能保持足够帧率的时候,ATW能产生中间帧,从而有效减少画面的抖动。简单来说是vr场景里是360度画面,但是用户视觉焦点是有限的,所以看到区域是清晰的,若很快扭头看别处,也许很难快速在新视觉区变清楚,那基于方向的时间扭曲可以解决位置抖动问题,如果游戏渲染帧没有和头部运动达成同步, 时间扭曲可以介入并产生一个图像替代还没有被渲染出来的帧。 自从最后一帧被渲染,通过扭曲最后一帧来反馈头部运动能看清楚。 ATW技术让虚拟现实设备保持较低帧率运行而看清楚,例如30帧时也能插帧,使渲染看清楚,也会弥补帧率低的屏幕问题。而且很多手机屏幕或vr镜片无法达到60或更高帧率,分辨率较低的显示屏会有“余辉”(Persistence)当你快速转动头部,旧画面没有立马消失,而眼前新画面也模糊不清:
■网友
什么是Timewarp。时间扭曲是把渲染好的一帧图像显示之前,根据场景被渲染之后头部又旋转角度加以矫正,得出相对当前头部位置更正确的一帧图像的技术,从而减少感知到的延迟。在虚拟现实上使用也可以提高帧率。
这种是只针对旋转的时间扭曲。时间扭曲有一个比较大的好处,它是2D的扭曲,所以当和畸变(Distortion)结合的时候并不会消耗太多性能。和相对渲染一帧复杂的场景相比,时间扭曲只使用非常少的计算。(此处需要一个TW算法:原理参考 https://www.youtube.com/watch?v=WvtEXMlQQtI)
什么是ATW?异步时间扭曲(ATW)在两个线程中完成TW的工作,一个线程负责渲染场景(Rendering Thread),另一个线程负责时间扭曲(ATW Thread)。在每一个VSYNC之前,ATW线程根据渲染线程生成的最新一帧图像,进行时间扭曲生成新的一帧图像,然后显示出来。


推荐阅读