A rendering budget, not an engine choice The first thing that breaks on an AR/VR programme is not the art pipeline or the engine licence. It is the assumption that XR rendering is “a game engine plus a viewport.” A headset that demands sustained 72–120 fps stereo at under 20 ms motion-to-photon has none of the slack a flat-screen title can lean on. Drop a frame and the user feels it as judder; sustain a thermal load for ten minutes and the SoC throttles, the frame rate halves, and the comfort window collapses. The engineering question is not which engine to license. It is which workloads to render per frame, which to bake offline, which to offload to fixed-function blocks, and how all of that schedules against the headset compositor. That budget framing is the spine of this article. Everything below — foveation, reprojection, variable rate shading, thermal ceilings — is a way of buying frame time inside a fixed envelope. We treat XR rendering the way we treat GPU performance under realistic load: peak burst numbers are a marketing artefact, sustained throughput at the target latency is the operationally relevant measure. What motion-to-photon latency actually means Motion-to-photon (MTP) latency is the time from a head or eye movement to the moment photons hit the user’s retina representing that new pose. The consensus comfort threshold sits below 20 ms; anything materially above that produces vestibular conflict and, given enough minutes, nausea. The budget breaks down into pose prediction (sub-millisecond), application render (typically the largest single slice), composition and distortion correction, and display scan-out. In our experience auditing XR renderers, application render is where most teams overspend. A naive forward-rendered scene with full-resolution per-eye shading and no foveation can consume 8–12 ms of GPU time on a Snapdragon XR2 Gen 2-class SoC before the rest of the pipeline gets to run. That leaves almost no headroom for the compositor’s asynchronous reprojection, no margin for thermal drift, and no room for content variance. The frame-rate target is met on a cold device in a controlled scene, and missed in the field — this is an observed pattern across XR engagements we have reviewed, not a benchmarked rate that ports to any specific headset. Why “frame budget” is the right primitive Thinking in frame budget — milliseconds per eye per frame — forces a per-feature accounting that “make it look good” never does. Each rendering decision (shadow technique, post-processing, particle density) gets a millisecond cost. Each platform decision (foveation, VRS, reprojection) is a budget refund. When the two columns balance under sustained load on the target SoC, the experience ships. When they do not, no amount of asset polish saves it. How foveated rendering reshapes shading load Foveated rendering is the most consequential GPU optimisation in modern XR. The principle is simple: human acuity falls off rapidly outside the foveal region (~5° around gaze), so rendering peripheral pixels at full resolution wastes GPU cycles the eye cannot use. The mechanism is less simple, and it differs sharply between hardware classes. Fixed foveated rendering (FFR) assumes the eye looks roughly at the centre of the display. Peripheral tiles are shaded at lower rates via variable rate shading (VRS) or per-tile resolution reduction. It is cheap to implement, ships on every Quest-class headset, and gives a 25–40% fragment-shading saving as an observed range — exact savings depend on shader complexity and tile configuration. Eye-tracked foveated rendering (ETFR) uses gaze tracking to move the high-resolution region with the fovea. The savings are larger (eye-tracked foveation can roughly double the FFR refund on shader-heavy scenes, as reported by Meta and Apple in their developer documentation), but the engineering cost is higher: gaze prediction has to lead actual eye motion by several milliseconds, and the foveation pattern has to update without introducing visible boundaries during saccades. The composition that matters in practice is foveation × VRS × reprojection. Variable rate shading provides the hardware mechanism. Foveation provides the policy that drives the shading-rate map. Reprojection (Asynchronous Spacewarp on PC, Application SpaceWarp on standalone) provides the safety net when the application misses a frame — it synthesises an intermediate frame from the last good one plus motion vectors. None of these features composes cleanly without explicit planning; teams that bolt foveation onto an existing renderer late in development frequently see the savings cancelled by reprojection artefacts at the foveation boundary. Standalone vs tethered: two different GPU problems How does foveated rendering reshape GPU load on standalone headsets versus tethered PCVR? The two architectures live in different thermal universes and the same optimisation pays back differently. Dimension Standalone (Quest 3, Vision Pro) Tethered PCVR (Varjo XR-4 + workstation GPU) GPU class Mobile SoC (Snapdragon XR2 Gen 2, Apple M2/R1) Discrete desktop GPU (RTX 40/50-class) Sustained power envelope ~5–8 W for GPU under thermal cap 200–400 W, actively cooled Foveation payoff Critical — gates whether high-fidelity content ships at all Useful — frees budget for higher per-eye resolution or richer shading Reprojection role Frequent safety net under thermal drift Occasional, mostly for VRAM spikes Dominant bottleneck Fragment shading + thermals Vertex throughput, VRAM bandwidth, draw call count Evidence class for this table: observed-pattern — drawn from XR audit work, not a single named benchmark. The point is not the exact wattage but the structural asymmetry: standalone headsets cannot ride out a thermal spike, so the renderer has to live below the steady-state ceiling, not the peak. Tethered systems can absorb transients but expose different bottlenecks (draw call count and CPU-side scene traversal often dominate before the GPU does). What thermal envelope means for content decisions Thermal throttling is the single most underestimated constraint in standalone XR. A Quest 3-class device can sustain its peak GPU clock for a few minutes of cold-start usage and then steps down. The renderer that hit 90 fps in the demo room hits 72 fps after fifteen minutes — and the user, mid-session, attributes the judder to “VR being motion-sickness-prone.” The mitigations are architectural, not cosmetic: Shade fewer pixels. Foveation + VRS, aggressively. Peripheral shading rate of 1×2 or 2×2 is often invisible in motion. Bake what you can. Static lighting via lightmaps, static shadows via shadow atlases, ambient occlusion baked into vertex colours. Dynamic relighting is expensive per frame and rarely justified. Cap the per-frame draw budget. Each draw call costs CPU and command-buffer time before the GPU even runs. Instancing, GPU-driven culling, and merged materials keep the count down. Plan for the compositor. Application SpaceWarp will reproject if the app misses, but only if the app reports its motion vectors and depth correctly. Garbage in, judder out. The 2026 hardware generation softens this with better process nodes and on-die NPUs that take some compositor work off the GPU, but the structural asymmetry between standalone and tethered does not disappear. Mobile XR SoCs will remain power-constrained for the foreseeable future. The engineering response is the same as for latency optimisation in inference workloads: budget first, optimise into the budget, validate under sustained load. Where pipelines actually ship — and where they break Three rendering pipelines carry most production XR today. Each has a characteristic failure mode under sustained content load. Unity Universal Render Pipeline (URP) on standalone: ships the bulk of Quest-class content. Breaks on scenes with many real-time lights, heavy post-processing, or undisciplined material count. The classic failure is a content team that authored for desktop URP, ported to standalone, and discovered that their post-processing stack (bloom, tonemapping, SSAO) consumed half the frame budget on its own. Unreal Engine on tethered + Mobile Forward on standalone: dominant on high-fidelity tethered work (location-based VR, simulation). The forward renderer on standalone is a different codepath with sharply different performance characteristics; teams that develop on the deferred desktop renderer and “port to mobile forward” near the end of the cycle routinely discover that their lighting model does not survive the translation. Native compositor-first stacks (Apple’s RealityKit, Meta’s compositor layers): increasingly used for productivity and 2D-in-3D content. The win is that the compositor renders the heaviest layers (text, UI panels) at the compositor’s reprojection rate, decoupled from the application frame rate. The trap is that mixing compositor layers with conventional 3D content creates depth-sort and occlusion edge cases that have to be designed in, not retrofitted. The pattern across all three: pipelines do not break in the smoke test. They break under content variance — the scene the artist added in week 14, the particle effect the gameplay team needed for the boss fight, the dynamic light that snuck in during polish. This is why we treat the rendering budget as a living artefact owned by engineering, not a checklist completed once at preproduction. What the next 18–24 months change The hardware trajectory is clear enough to plan against. Several shifts are worth pricing into architecture decisions made today, while remembering these are market-direction reads rather than operational benchmarks: Eye tracking becomes default, not premium. ETFR moves from “nice-to-have on Vision Pro” to baseline assumption on mid-tier devices. Renderers that cannot consume a gaze signal will be at a structural disadvantage. On-device neural upscaling. DLSS-style and platform-specific neural upscalers ship as part of the compositor SDK on standalone. The implication is that the application renders at lower internal resolution and lets the headset upscale — but only if the application provides motion vectors and depth correctly. Tiled / chiplet GPU designs in mobile XR SoCs. Power efficiency improves, but the renderer has to be aware of tile boundaries for foveation patterns and bandwidth-sensitive passes. Varifocal and pancake-hybrid optics. Content-side cost is small, but rendering for varifocal displays requires depth-aware focus cues that today’s pipelines mostly ignore. None of this changes the central engineering discipline. Sustained MTP latency below 20 ms on a thermally-constrained device is the constraint that frames every other decision. The hardware moves the ceiling; it does not remove it. FAQ What motion-to-photon latency is achievable with foveated rendering and eye tracking on current XR hardware, and what frame budget does it leave for content? On 2024–2026 standalone headsets with eye-tracked foveated rendering, the platform stack (pose prediction + composition + scan-out) consumes roughly 6–10 ms of the sub-20 ms motion-to-photon budget, leaving 8–13 ms for application render at a 90 Hz target. Foveation typically refunds 30–50% of fragment-shading cost on shader-heavy scenes as an observed range across XR audits — not a benchmarked rate that ports to any specific headset. How does foveated rendering reshape GPU shading load on standalone headsets versus tethered PCVR? On standalone headsets the SoC is power- and thermally-constrained, so foveation is often the difference between shipping a fidelity target and not. On tethered PCVR with a discrete GPU, foveation is more of a budget-freer that lets the team raise per-eye resolution or shading complexity. The bottleneck classes differ: fragment shading and thermals on standalone, vertex throughput and draw call count on tethered. Which AR/VR rendering pipelines actually ship in production today, and where do they break under sustained load? Unity URP and Unreal’s Mobile Forward dominate game-class content; native compositor stacks (RealityKit, Meta compositor layers) dominate productivity and 2D-in-3D content. All three break on the same failure: content authored without a per-frame budget. Real-time lighting, undisciplined post-processing, and material proliferation are the recurring culprits. What thermal and power constraints cap throughput on mobile XR SoCs, and how are they mitigated in 2026 devices? Standalone XR SoCs run with roughly a 5–8 W GPU thermal envelope under sustained load (observed-pattern, not a vendor spec). Mitigation is architectural: foveation, VRS, baked lighting, draw-call discipline, and motion-vector-correct reprojection. The 2026 generation softens the ceiling with better process nodes and dedicated compositor NPUs, but the steady-state envelope still drives content decisions. How do foveation, ASW/reprojection, and variable rate shading compose inside a real frame pipeline? Variable rate shading is the hardware mechanism. Foveation is the policy that drives the shading-rate map. Reprojection (ASW on PC, Application SpaceWarp on standalone) is the safety net when the application misses a frame. They compose cleanly only when designed together — bolting foveation onto an existing renderer late frequently cancels the savings via reprojection artefacts at the foveation boundary. What does the next 18–24 months of XR hardware change for rendering architecture decisions made today? Eye tracking becomes a baseline assumption rather than a premium feature; on-device neural upscaling moves into the compositor SDK; tiled GPU designs in mobile XR SoCs reward tile-aware passes; varifocal optics begin to demand depth-aware focus cues. The central constraint — sub-20 ms MTP on a thermally-bounded device — does not move. Where to take this next For teams sitting on a renderer that demos well and ships badly, the right next step is an audit of the actual frame budget under sustained content load on the target device — not the marketing scene, not the demo room, the worst minute of the worst level after fifteen minutes of play. That is the failure surface our GPU audit work was built to expose, and it is the place where the gap between “VR is exciting” and “VR is comfortable for an hour” lives.