Version 1.3 of Oculus' PC software development kit is available today. This new release adds support for asynchronous timewarp, a useful rendering method for delivering a smoother VR experience.
Oculus describes timewarp as a technique that reduces perceived latency in VR. Timewarped frames are re-projected (or "warped") to correct for changes in the position of the wearer's head before they're sent to the VR headset itself. In the case of a frame that takes longer to render than the Rift's vsync interval, the application can timewarp the previous frame to prevent judder caused by sending the same frame to the display multiple times. Simply displaying the frame two or more times would mean the user wouldn't see the expected change in position that their head movement would have generated, leading to hitching and a broken sense of immersion when updated frames do reach the headset's displays.
Asynchronous timewarp (or ATW) runs "independently and asynchronously" of the main rendering task to avoid interruptions from changing graphics workloads and background operating system tasks, according to Oculus. This approach uses preemption on the CPU and GPU to run the ATW shader before each vsync interval. The company said it "took a lot of work" to get the feature working properly on PC graphics hardware, since graphics cards can provide high throughput but not fine-grained preemption. Oculus says it worked with Microsoft, Nvidia, and AMD to tune "OS GPU scheduling, GPU command processor microcode, and GPU kernel driver design" to improve ATW performance. The company says Nvidia's VRWorks and AMD's LiquidVR driver extensions both help ATW work better.
In practice, Oculus says ATW has substantial benefits. The company says its early tests showed that VR apps dropped about 5% of their frames. ATW claims to fill in for most of those missed frames, reducing judder by "20-100x." Oculus says ATW runs all the time in its apps, and it's scheduled at a fixed time relative to frame delivery so that users always experience less latency regardless of application performance.
The technology isn't a cure-all for poor VR application performance, however. ATW only corrects one type of latency right now—orientation, or head direction. It doesn't correct for changes in head position, which can lead to a variety of artifacts that harm the VR experience. The company cautions that ATW should be looked at as last-ditch insurance in cases where an application can't maintain a 90Hz refresh rate, rather than a method for getting around lower frame rates. Developers still need to work hard to ensure their VR apps can consistently run at 90 FPS.
For the best ATW performance, Oculus says users should be running Windows 10 build 10586.164. It probably wouldn't hurt to be running the latest graphics drivers from Nvidia or AMD, too.