Reproduction steps:
1. Open the attached project "VulkanHitchMiniproj"
2. Switch the platform to Android
3. Make sure Vulkan is set as Graphics API in Edit > Build Settings > Player Settings
4. Tick “OVROverlay” Scene in Build Settings
5. Tick “Development Build” and “Autoconnect Profiler” in Build Settings
6. Build And Run on Oculus Quest 2 device
7. Observe the Profiler window
Expected result: No CPU Usage spikes appear
Actual result: GfxDeviceVK.ExecuteCommandList process spikes CPU Usage by up to ~40m
Reproducible with: 2020.3.46f1, 2021.3.20f1, 2022.2.9f1, 2023.1.0b5, 2023.2.0a4
Reproducible with devices:
VLNQA00379, Oculus (Quest 2), Android 10, CPU: Snapdragon XR2, GPU: Adreno (TM) 650
Reproducible on: Windows 10 Enterprise 21H2
Notes:
- Does not reproduce on OpenGLES 3
- Artifacts are seen in Player
- It appears that the Vulkan submission thread is performing ExecuteCommandList for an irregularly long time, which is blocking the render thread and subsequently the main thread