Search Issue Tracker
Third Party Issue
Votes
21
Found in
2022.3.56f1
6000.0.33f1
6000.1.0b2
6000.2.0a1
6000.3.0a1
Issue ID
UUM-93226
Regression
No
[Performance] Vulkan performing much worse than OpenGLES due to excessive buffer copies on Quest 2/3
Steps to reproduce:
1. Open the attached user's project "MetaXRSDKOriginals.zip"
2. Switch to Android platform
3. Connect Quest 2/3
4. Open Meta Developer hub and enable Metrics Hud
5. Make sure Graphics API is set to either Vulkan and OpenGLES
6. Build to a Quest 2/3 device and observe the FPS and GPU Usage
Expected Results: Vulkan performs better or is on par with OpenGLES
Actual Results: Vulkan performing much worse than OpenGLES due to excessive buffer copies on Quest 2/3
Reproducible on: 2022.3.56f1, 6000.0.33f1, 6000.0.0b2
Reproducible with these devices:
VLNQA00609 - Oculus Quest 3 (Quest 3), CPU: Snapdragon XR2 Gen 2 (SM8550), GPU: Adreno 740, OS: 12
VLNQA00415 - Oculus Quest 2 (Quest 2), CPU: Snapdragon XR2, GPU: Adreno 650, OS: 12
Testing Environment: Windows 11
Not reproducible on: No other environment tested
Notes:
-Issue is described more in depth in this discussion post: [https://discussions.unity.com/t/vulkan-performing-much-worse-than-opengl-es-due-to-excessive-buffer-copies-on-quest-2-3/1561926]
-When MSAA is disabled under the "Camera Rig", fps hovers around 30 and stuttering is gone
-Renderdoc captures are attached "Vulkan2.rdc" and "OpenGLES.rdc"
-Issue reproduces with Vulkan and OpenGLES, on Vulkan fps is lower and the application stutters significantly more than on OpenGLES
-Issue reproduces with both OpenXR and OculusXR Plugins
-There's no difference when switching to Multi-pass, Multi-view and or Single Pass Instanced Rendering modes
Comments (3)
-
burbukz
Mar 02, 2025 14:34
Also looking for an update on this because its been effecting our game as well
-
ammars26
Feb 28, 2025 03:29
Waiting for some update?
-
DevDunk
Feb 27, 2025 01:10
Any update?
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Crash on TextCore::OTL_TableReader::GetOpenTypeLayoutTables when using Japanese Font as TMP Fallback
- TreeView.AddItem performance regression when opening EditorWindow
- Shadows are not visible in Player when using DX12 with Forward+ or Deferred+ rendering in URP
- Rendering Debugger Playmode debug UI scrolling is jittery when using click and drag to scroll
- Frame Debugger Target Selection Search Results window becomes too tiny to even see the default “Editor” selection when there are no search results
Resolution Note:
Thank you for reporting a bug to Unity.
We have reviewed the issue carefully, and that's the conclusion of our investigation.
The worst performance on Vulkan compared to OpenGL, based on the repro project, looks to be caused by a QCOM bug related to the visibility stream.
It seems to manifest when there are a lot of meshes in the scene and should be fixed in future release of Meta OS for Quest devices.
Regarding the additional buffer copies in Vulkan (with and without MSAA) that seems to be related to the QCOM cost of using Vulkan.
For XR and MSAA we suggest to enable the Optimize Buffer Discard feature that improves performance. The feature is available in both OpenXR and Oculus plugin, you can read more about it in https://docs.unity3d.com/Packages/com.unity.xr.oculus@1.12/manual/index.html
Thank you again for taking the time to report this issue, and please let us know if there is anything else that changes the impact or severity of this issue.