The compositor
Updated: Apr 8, 2026
The compositor is the part of the Quest operating system that performs every operation between your application submitting a frame and that frame being drawn on-screen. Understanding the compositor is foundational to understanding
App Spacewarp and
compositor layers.
The three main functions of the compositor are:
- Reducing perceived latency (reprojection / time warp) — The compositor rotates the most recently completed frame to account for head rotation since the frame was generated, making frames feel stable in the world even if they are slightly old.
- Distorting frames — VR lenses create pincushion distortion. The compositor applies an inverse barrel distortion so the net result appears undistorted to the user.
- Adding compositor layers — Applications can submit multiple concurrent textures. The compositor overlays each into the final output, enabling multitasking, system notifications, and dedicated high-quality layers for text and UI.
Your application commits to a head pose prediction some 10s of milliseconds before it will be displayed. The compositor fixes this up just a few milliseconds before display. Pure camera rotation introduces no parallax, making this a surprisingly effective and cheap way to reduce rotation mismatch discomfort.
If the player looks off-screen, the rotational reprojection inserts black bars, allowing the player to still feel like the app is responding to head motion and reducing the risk of discomfort.
A more advanced reprojection algorithm that also adjusts for head position changes using depth buffer information. Positional timewarp is only enabled when
App Spacewarp is also enabled, since it requires both a depth buffer and motion vector buffer from your application.
Game engines render two eye buffer textures (left and right eye). The compositor applies barrel distortion to counteract the pincushion distortion caused by the VR lenses, then composites all layers into the final display output.