RiftGoExperiencesDevelopersCreatorsBlog
Introducing ASW 2.0: Better Accuracy, Lower Latency
Oculus Blog
|
Posted by Volga Aksoy + Dean Beeler, Software Engineers, PC Graphics
|
April 4, 2019
|
Share

A couple of years ago, we released Asynchronous Spacewarp (ASW) for the Oculus Rift PC runtime. ASW technology works behind the scenes to effectively give our users “free” CPU and GPU upgrades, to provide higher-quality VR on lower-spec hardware. ASW activates as the headset rotates (3DOF), predicting head movement, extrapolating and smoothing frames, and reducing judder to make VR more comfortable.

Until now, ASW has been self-contained in the runtime, where it just works—but we knew it could be better. Today, we’re excited to release the first major upgrade to ASW. ASW 2.0 builds on our previous version, activating to support headset performance in a full 6DOF space, accounting for depth and rotation. ASW 2.0 combines ASW with an existing experimental technology, Positional Timewarp (PTW) to take our PC runtime prediction accuracy to the next level and further boost app performance and frame rate.

Benefits of ASW 2.0

The strengths of ASW 2.0 are best seen in several situations:

  • Improving performance with severe frame rate drop: ASW 1.0 impact peaks at half the native frame rate of a headset (e.g. 45hz for Oculus Rift). However, in some instances, if an app drops below half frame rate, ASW can’t perform acceptably. Even at reduced frame rate, ASW 2.0 can maintain an acceptable view in VR, as PTW’s depth-based reprojection works more accurately for lower frame rates than ASW 1.0 extrapolation.
  • Lowering 6DOF headset tracking latency: Previously, the Oculus PC runtime would only correct for 3DOF headset rotation to decrease tracking latency. With ASW 2.0 and PTW, even if ASW doesn’t need to activate, PTW will continue to provide low-latency 6DOF HMD tracking—regardless of the VR app’s frame rate.
  • Reprojecting repeating patterns and visually similar content: What happens when you have a zebra standing behind a white picket fence? While that exact scenario may be rare, checkerboard and lined patterns are extremely common in VR and present challenges for ASW 1.0—particularly when they’re layered. With ASW 2.0, we can use depth data to separate the objects before extrapolating, which lets us solve reprojection errors. See the following clip for a visual demonstration of how this works in ASW 1.0 vs. 2.0.

Comparison of ASW 1.0 and 2.0, showing how ASW 2.0 can eliminate reprojection artifacts with the help of PTW

ASW 2.0 in Action

ASW 2.0 asks developers to expose depth information. With the Rift system interface Dash, the Oculus PC runtime already uses PTW to smooth performance, blending the Dash interface over an app’s depth-composition layers. As such, most Rift apps on the Oculus Store built on Unreal Engine 4 and Unity already provide the depth information required to make ASW 2.0 work. As more apps provide this information, ASW 2.0 support will become increasingly ubiquitous.

A sampling of apps that currently support ASW 2.0: Oculus Medium, Red Matter, Robo Recall, Oculus Rift Dash and Home

For applications that don’t provide the necessary depth data, the Oculus PC runtime will revert to ASW 1.0. However, it’s easy for developers to patch their applications should they choose to activate ASW 2.0 while also activating depth-composition with Oculus Dash.

Even with all of the advancements in ASW 2.0, there may be some instances where it doesn’t work perfectly. That’s why we always ask developers to optimize their VR apps to be able to render at the native HMD refresh rate. Given the wide range of PC hardware capable of running VR, features like ASW 2.0 can help smooth out bleeding-edge VR experiences for both end-users and developers.

We’re excited to bring ASW 2.0 to the Rift community and can’t wait to hear your feedback. There’s no shortage of possibilities for future improvements as we continue to push the envelope of ASW and related techniques. Stay tuned for more on this space.