

也就是说,只要角度变化不是非常大(上图为了演示效果偏转的角度很大了),可以通过这项技术”凭空渲染”出下一帧的图像,SONY的PSVR正是利用这一点,把60FPS的画面Reproject成了120FPS。
Timewarp只能处理头部转向,不能处理头部移动的情况,而且一旦错过了垂直同步的时机,一样需要等待下一次垂直同步才能显示出来。那能不能在每次垂直同步之前,强制进行一次Timewarp呢?那就需要驱动来开个后门了…
驱动层面的优化
假设垂直同步时,当前帧还没有渲染完毕,这时如果要进行Timewarp的话,就需要驱动提供一种高优先级的异步调用,这就是异步Timewarp的由来:Timewarp操作与场景渲染并行执行,如果没有新的渲染画面,就继续使用上一帧的画面进行Timewarp。

这可以在一定程度上补偿FPS不达标造成的延迟问题,GearVR中正是应用了这项技术,保证了手机VR的体验。
当然,PC上使用项技术还是有一些限制:
必须是Fermi,Kepler,Maxwell(或更新)核心的GPU;