Quest 2 refresh rate

I’m trying to determine the refresh rate on the Quest 2 by displaying some info in-game, but the results are confusing so I’m hoping somebody can clarify for me.

In my Quest 2 settings, I have the refresh rate set to 90Hz.
In-game, displaying Screen.currentResolution.refresh rate shows 120Hz.
Also in-game, XRDevice.refreshRate displays 72Hz.

So, as you can see, I have 3 different numbers and am unsure how to interpret. My expectation, based on my device settings, was to see 90Hz across the board.

Any idea how to go about determining the true number and how to achieve a specific desired rate?

Thanks.

1 Like

If it’s not reporting consistently across all 3, it is a bug and likely will have other issues, including in Unity’s own codebase.

So, is there no reliable way to determine actual refresh rate? My hope it to be able to set Time.fixedDeltaTime at runtime to help with some physics-related stuttering, but obviously that would only work if I know the actual refresh rate.

Open a bug report and Unity support will get back to you with an answer.
I’m guessing the XRDevice is giving back the max refresh rate of your game (you need to manually set it to 90 if you want that, this is not automatic)

1 Like

Are you using Oculus XR plugin? If so, we already added some refresh rate support back in 1.7 last year.
For reference: Changelog | Oculus XR Plugin | 1.10.1-preview.3

[1.7.0-preview.2] - 2020-12-09
Added

  • Added target devices to the Android settings. These are used to configure the supported devices list in the Android manifest. For example, enabling Quest 2 will allow 80/90Hz refresh rates on Quest 2
  • Added bool TryGetAvailableDisplayRefreshRates(out float[ ] refreshRates)
  • Added bool TrySetDisplayRefreshRate(float refreshRate)
  • Added bool TryGetDisplayRefreshRate(out float refreshRate)

Fixed

  • Fixed XRDevice.refreshRate not updating correctly
  • Fixed indexTouch and thumbTouch usages always returning false
  • Removed the Mac audio spatializer plugin to work around a crash on startup on M1 based Macs
1 Like

Thank you, Tanya! I’m on version 1.10 of the Oculus XR plugin, but I was not using the Oculus-specific API, just the basic open XR stuff. After trying out the Oculus calls you pointed out, I am now getting consistent results. However, I can’t seem to achieve better than 72Hz, but I think that’s on me and a need to optimize my code. Thanks again!