The Oculus PC SDK v1.3 has implemented Asynchronous Timewarp (ATW) on Windows. Basically, this affects the Oculus headset’s ability to render images smoothly, without as much “judder” in the image quality.
Timewarping is a relatively new term for the way VR technology adjusts images before they’re sent to your headset. Before timewarp, your movement was captured by the headset sensor, the image was rendered at that angle, and then the scene was sent to the display. However, using this technique if your head has moved in the meantime, then you begin to see a lot of latency. Immersion breaks, and your lunch thinks about coming back up for a visit.
Timewarp adds an extra couple of steps. After rendering the image, but before it’s sent to the display, the headset sensor is captured again and the image is transformed based on the new readings. That’s when it gets sent to the display, and the result is a smoother, latency free experience.
However, the problem with timewarp on a multitasking operating system like Windows is that graphics applications can have varying rendering workload from frame-to-frame, as Oculus describes in its announcement. Some frames may complete rendering on time, while others might miss the Vsync deadline, resulting in judder. What ATW does is separate timewarp from the usual rendering loop, and relies on CPU and GPU preemption to grab the latest available frame and timewarp it before the display refreshes.
It took Oculus some time to actually get ATW right, as modern GPUs and CPUs are optimized for high performance rather than preemption. Oculus has been working with Microsoft, Nvidia and AMD to develop graphics driver VR extensions in order to get everything working properly.
Oculus also notes that “ATW is not a silver bullet.” If developers can’t maintain a steady full frame rate then noticeable positional judder can occur, particularly in near field of view. If an application falls below 90fps, then it will get timewarped again to try and avoid rotational judder, however “animation and player movement may judder in lock-step with missed frames.” Oculus says developers should “aggressively” target 90fps for the best experience.
On a related note: AMD and Nvidia both have new drivers for VR systems that will be public this week. Keep an eye out for them if you have an Oculus Rift on the way.