Forum Discussion
chcheng
3 years agoHonored Guest
Performance issue with OVRPlugin using OpenXR backend
Hello, our game is using Unity 2020.3.32f1 and Oculus Integration v39.0.0. We found in profiler that with OpenXR backend, OVRManager takes about 2ms CPU every frame on a Quest 1 device, while it only takes about 0.32ms if we switch back to the legacy OVRPlugin with LibOVR and VRAPI backends.
(The profiler data were taken using a new project with only Oculus Integration 39.0 added, and with the sample scene MRC in Oculus/VR/Scenes)
OVRPlugin with OpenXR backend Legacy OVRPlugin with LibOVR and VRAPI backends
With deep profiling on, we found that it is from OVRP_1_16_0.ovrp_GetControllerState4(). We also found that if we remove the battery in 1 or both Oculus Touch controllers, the time drops (with 1 battery removed, it drops to around half and with both removed, it drops to near 0ms, but of course we can no longer play without controllers).
OpenXR backend deep profiling
As a result of this, we can hardly switch to the OpenXR backend due to the FPS requirement in Quest 1.
Anyone knows if I am missing something or is it a problem with the plugin itself? Thank you.
2 Replies
Replies have been turned off for this discussion
This kind of in depth post shows how much we need a proper bug tracker for the Oculus SDKs. Very few Meta engineers ever seem to post here, but this kind of performance issue really needs an answer
- ZorakMantis2Explorer
I know your post is older, but have you had any success working around any of this? In my use-case, OpenGL+VRAPI is enough fastern than Vulkan+OpenXR that I can't consider using the newer libraries yet. Super frustrating for us as we also desparately need the improved depth precision of Vulkan.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 1 month ago