02-02-2023 08:17 AM - edited 02-02-2023 04:14 PM
After the Upgrading project from Unity 2020.3.4 (URP 10.4.0) to Unity 2021.3.10 (URP 12.1.7), we are experiencing a stutter/frame pacing issue that had not been there before the upgrade. The stutter is noticeable when the player is using smooth locomotion and also visible on animated moving objects. The issue is only noticeable on Quest vr builds. With Steam VR the issue does not appear present.
We’ve been able to reduce the issue by switching to 72h. But there is still a stutter every one to two seconds. We’v e discovered that if we try to change the refresh rate with the OVRManager call the issue will get worse until the headset is put to sleep and woken back up.
OVRManager.display.displayFrequency = 80;
OVR metrics have no visible stutters and appear smooth.
When running with the profiler the issue gets worse and the spikes show as OculusRuntime.WaitToBeginFrame.
What We’ve tried and hasn’t had an impact
Upgrading the Oculus Integration 3.2.2 (Package Manager)Upgrading the Oculus SDK to v47 (Asset Store)
Switched Oculus to use the OpenXR back end
Tested on OpenGLES and Vulken
Test builds with Late Latching, Phase Sync, and Optimized Frame Pacing
Tested on 2021.3.1. 2021.3.14, 2021.3.15, 2021.3.16
Steps to reproduce:
Open a new URP project in 2021.3.10
Make a simple animation of a moving shape
Download the Oculus Integration and SDK
Put OVR camera prefab in scene
Add a simple script that changes the refresh rate on launch
OVRManager.display.displayFrequency = 90;
Change Quality settings to performant
Make an android Quest build and test on device
02-02-2023 04:07 PM
Also posted this over on the Unity forums. A few other reporting similar issues with a few more details from OVR metrics and perfecto
https://forum.unity.com/threads/stutter-frame-pacing-issues-after-upgrading-to-2021-3.1393705/#post-...
02-02-2023 04:13 PM
Did also have a few other findings that if I set the hz through an ADB command and launch the app the issue appears to be mitigated. It only really seems to be an issue when the refresh rate gets changed after the game is launched.