Meta's FrameSync OS Upgrade Promises Visually Smoother VR On Quest

Home » Meta's FrameSync OS Upgrade Promises Visually Smoother VR On Quest

Meta is upgrading the frame timing algorithm of Horizon OS with an overhaul called FrameSync, and it should result in more consistently visually smooth VR with noticeably fewer hitches.

What Is FrameSync?

FrameSync is replacing Phase Sync, the current frame timing algorithm of Quest headsets.

Phase Sync was introduced shortly after the launch of Quest 2 as an optional feature developers could enable in their apps, and in the years since has become an always-on feature. Its fundamental purpose is to minimize motion-to-photon latency.

Facebook ‘Phase Sync’ Tech Can Dramatically Reduce Quest App Latency
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

Without either Phase Sync or FrameSync, VR apps rendered with fixed latency. Rendering began as early as possible, which maximized the chance of the frame being ready for each display refresh, but meant the tracking data used for the frame was more outdated than it needed to be.

With Phase Sync or the new FrameSync, the operating system predicts how long the frame should take to render and intentionally delays the start time to ensure the sampled tracking data is as fresh as possible. What makes the two technologies different is how exactly they perform that prediction.

Phase Sync looked at the past few frames, making a crude assumption that the next frame will follow. But if the rendering load changed, such as turning your head from an empty area of the scene to a dense one, this could lead to a dropped frame. And if this repeatedly happened, the system would fall back to fixed latency.

The new FrameSync instead uses a “robust statistical system” that takes into account more than just the past few frames, which Meta says results in a far more accurate prediction – so much so that it doesn’t need to fall back to a fixed latency mode:

1) More consistent smoothness (and often higher FPS)

FrameSync helps stabilize frame pacing, which typically shows up as less judder and fewer visible hitches during motion.

2) Fewer stale frames, especially long streaks

Consecutive stale frames can be especially noticeable (and uncomfortable). FrameSync reduces both the frequency of stale frames and the longer runs that can disrupt an experience.

3) Lower motion-to-photon latency

Better prediction can reduce the delay between a person’s movement and the corresponding visual update to help interactions feel even more immediate and responsive.

According to Meta, FrameSync’s more accurate prediction should deliver more stable frame pacing, fewer stale frames, and lower motion-to-photon latency. In simpler terms, that means visually smoother VR on Quest.

When & How Is FrameSync Arriving?

In Horizon OS v201, the current stable version of the operating system, FrameSync is available for developers to enable in their apps, through adding the com.oculus.enable_frame_sync metadata to their AndroidManifest.xml:

<meta-data android:name="com.oculus.enable_frame_sync" android:value="true" />

From Horizon OS v203, Meta says the feature will become the default for all Horizon Store apps, with an opt-out available for apps that need to.

The reason an app might want to opt out, and the reason Meta wants developers to test the feature ASAP, is that the throughput improvement FrameSync delivers compared to Phase Sync might increase CPU and GPU usage. This, in turn, could in some circumstances increase thermals to the point of thermal throttling, leading to a net reduction in performance. This however should be rare, Meta suggests, with the majority of apps seeing a net improvement.

Leave a Comment

Your email address will not be published. Required fields are marked *