Compositor Tearing on Quest 3 with Native OpenXR and Vulkan
Investigation titles and descriptions are summarized by AI from Meta based on reports submitted by developers
Investigating
Issue
1 report
Created 4 days ago
0
Add your report
Subscribe
Suggest an edit
Copy link
Category
Graphics
Investigation summary
Compositor tearing (Tear>0, Stale=0) occurs on Quest 3 when rendering dense Gaussian splat content via native OpenXR + Vulkan at 72 Hz. Despite maintaining a frame rate of 72/72 FPS, VrApi reports 1-4 tears per second. Analysis of Perfetto traces reveals that torn slices miss scanout by 0.01-1.2 ms, with compositor GPU requests arriving 2-4 ms after the app's vkQueueSubmit while the app frame is still executing. GPU profiling shows 8 hardware bins (864x448) with the densest bin rendering 2.2-2.8 ms uninterrupted, exceeding the ~1.1 ms compositor slack before scanout. Preemption only occurs at bin boundaries, not within bin renders or single dispatches. Attempts to reduce tears by splitting compute/draw into smaller units were unsuccessful, but screen recording suppresses the tearing. The issue is observed on build UP1A.231005.007.A1, System UX 207.0.0.218.1234, with multiview render pass 1622x1770 per eye with FDM foveation and subsampled layout.
Still need help?
Tell us what you need support with and we'll find the best solution for you.
Get support
Get answers from the community
If you're having trouble, find answers to your questions from Meta Quest users around the world.
Go to community forum