A new Oculus For Developers blog post details the addition of Phase Sync, a frame-timing management technology, to the Oculus Mobile SDK. Implementation can result in dramatic latency reduction for some Quest 2 apps.
The Phase Sync technology was originally introduced for the Oculus PC SDK, but is now available for Facebook’s mobile VR devices as well. This provides developers with an alternate method of frame timing management that can dramatically cut down latency. According to Facebook, due to increased GPU and CPU compute in Quest 2, many apps “can finish rendering their frames earlier than planned” resulting in so-called “early frames”. Facebook used the graphic embedded below to demonstrate the difference between Phase Sync and the existing fixed-latency mode:
In the “Impacts and Considerations” section of the post, Facebook details how they’ve already enabled Phase Sync on some Oculus apps to great results:
We have enabled Phase Sync on a couple of Oculus apps, for which the latency savings have been fairly impressive. For example, we were able to achieve a 10 milliseconds latency reduction in Oculus Home with Quest 2, and an 8 milliseconds reduction with Quest.
We encourage every in-development app to enable it, especially if your app is latency sensitive (if it uses hand tracking, for example).
As developers enable Phase Sync, it is possible certain Quest 2 apps may see a similarly significant reduction in latency. That, in turn, should equate to a significantly improved the experience for the end user. If you’ve heard about a developer who implemented the feature on Quest, please share in the comments. We’re curious to see what results developers find with their apps after implementing the feature.
Developers can access Phase Sync as an opt-in feature in V23 of the Mobile SDK. It has also been integrated into the latest versions of Unreal Engine 4 and Unity.
For a more in-depth break down of Phase Sync, check out the Oculus for Developers blog post.