Search Issue Tracker
Active
Under Consideration for 2022.3.X
Votes
0
Found in
2022.3.10f1
Issue ID
UUM-68005
Regression
No
[Quest] EarlyUpdate.XRUpdate taking over 20ms when no intermediate textures are used in rendering on Quest 2/3
Steps to reproduce:
1. Download the attached project "Project.zip" from the Google Drive link
2. Ensure that you have a Meta Quest 2 headset attached to your PC
3. Go to File > Build Settings and switch to the Android platform. Enable the Development Build and Autoconnect Profiler options and select Build And Run to deploy the project to a headset
4. Wait until you have in-game control and look towards the cave entrance
5. Watch the Unity profiler after the build starts running on the headset and observe the long time (over 20ms on average) spent on EarlyUpdate.XRUpdate in the Timeline on the main thread
6. Go back to the Unity project and in the Project window, find the URP asset labelled "Universal Render Pipeline Asset-Quest" and in the Inspector, in the Quality settings enable "HDR"
7. In the Project window, find the URP Renderer labelled "Universal Render Pipeline Asset_Renderer", select this item and in the Inspector enable the Post Processing option
8. Save the project then go to File > Build and Run to deploy the project to the headset
9. Wait until you have in-game control and look towards the cave entrance
10. Watch the Unity profiler after the build starts running on the headset and observe only 10ms of time spent on average in EarlyUpdate.XRUpdate which is expected
Expected Results: The profiler results taken during step 5 show the call to EarlyUpdate.XRUpdate taking about 10ms, which is shown in the profiler results shown in step 10 when an intermediate texture is used
Actual Results: The profiler results taken during step 5 show the call to EarlyUpdate.XRUpdate taking over 20ms on average
Reproducible on: 2022.3.10f1
Could not test on 2021.3.36f1, 2022.3.22f1, 2023.2.16f1 and 6000.0.0b13 due to project errors after upgrading/downgrading
Reproducible on 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:
-Project uses OculusXR plugin, could not test on other XR plugins due to errors when switching plugins
-Intermediate renderbuffers such as CopyDepth and CopyColor have been disabled in the project by disabling HDR and Post processing
-Attached are profiler captures showing the difference, the capture named "GPUBound.data" shows the low perfromance which can be compared to the "notGPUBound.data" capture that shows better performance when intermediate textures are used
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- [OpenGLES][XR] Zooming in on the camera's URP opaque texture causes "double vision" on Quest in OpenGLES3
- “[Worker0] Could not generate preview image“ error when opening macOS native plugin in the Inspector with Architecture to build for set to ARM 64-bit
- [iOS] Application.absoluteURL is empty on Awake/Start when opening via deep link with Splash Screen disabled
- Crash on MemoryManager::Deallocate when rapidly calling Addressables.LoadAssetAsync
- Crash on physx::shdfnd::atomicIncrement when adjusting values on a character controller component after entering Play mode in Prefab edit mode
Add comment