Oculus SDK 1.3 brings asynchronous timewarp to Windows

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.

Image: Oculus

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.

Comments closed
    • GrimDanfango
    • 4 years ago

    Since one brief test included in the oculus sdk, they seem to have abandoned Positional Timewarp – which really did look like it had the potential to be the actual holy-grail of framerate-drop-smoothing… even the rough example seemed to function surprisingly well even as low as ~5fps! I’d personally take the occasional occlusion-filling artefact over judder… really not sure why they seem to have given up on it.

    • derFunkenstein
    • 4 years ago

    [quote<] leading to hitching and a broken sense of immersion when updated frames do reach the headset's displays.[/quote<] Not to mention motion sickness and projectile vomiting. lol

      • BIF
      • 4 years ago

      That’s nothing that can’t be fixed by Dramamine and a face shield. Of course, that takes us into immersion of a new type. With smell-o-vision!

    • chuckula
    • 4 years ago

    It’s astounding
    Time is fleeting
    Madness takes its toll…

      • DancinJack
      • 4 years ago

      For those that don’t know…..
      [url<]https://www.youtube.com/watch?v=djJPDGvqLa4[/url<]

      • BIF
      • 4 years ago

      It’s a jump to the left…

Pin It on Pinterest

Share This