Jump to content

Fixed foveated rendering

From VR & AR Wiki
Revision as of 12:01, 25 April 2025 by Xinreality (talk | contribs)
See also: Terms and Technical Terms

Fixed foveated rendering (FFR) is a performance–optimisation technique used primarily in Virtual Reality (VR) and Augmented Reality (AR). It exploits the characteristics of the human visual system—very high acuity in the Fovea and much lower acuity in the periphery—to lower the rendering workload on a GPU without noticeably degrading perceived image quality.[1][2]

Unlike Dynamic foveated rendering (DFR)—which relies on Eye tracking to move the high-quality region to the user’s current gaze—**FFR keeps that region fixed**, typically centred in the view, and progressively reduces resolution or shading rate towards the edges.[3] Because fragment shading is the dominant cost in modern high-resolution VR, reallocating it in this way can yield **34 – 65 % fragment-shader savings under typical loads**.[4]

How it works

Visual acuity falls off steeply outside the central ≈1 – 2° of vision.[5] FFR divides the render target into concentric zones:

  • Foveal zone – full resolution / 1× shading
  • Parafoveal zone – moderate reduction (e.g., ½×)
  • Peripheral zone – stronger reduction (e.g., ⅛× or 1⁄16×)
  • (optional) Far-peripheral zone

The exact boundaries are tuned per title and headset.[6]

Technical implementation

Variable Rate Shading (VRS)

Modern GPUs expose hardware VRS so developers can supply a *shading-rate map* that matches the FFR zones.

  • NVIDIA first delivered VRS in Turing GPUs.[7]
  • AMD introduced it in **RDNA 2** (RX 6000 / Radeon PRO W6000) and later cards.[8]
  • Mobile Adreno GPUs provide VRS through Vulkan extensions.[1]

API support is available in DirectX 12 Ultimate[9], Vulkan ‘‘VK_KHR_fragment_shading_rate’’[10] and Apple’s Metal *Rasterization Rate Maps*.

Multi-resolution & lens-matched shading

An earlier vendor-specific approach rendered peripheral tiles to lower-resolution targets and then re-assembled them (NVIDIA *Multi-Res Shading*).[11] Valve’s ‘‘Lens-Matched Shading’’ aligns the shading pattern with optical distortion, saving additional work.[12]

Advantages

  • **Performance:** measured shader-time reductions of 34 – 65 %.[4]
  • **Lower power / heat:** critical on battery-powered headsets.[1]
  • **No eye-tracking hardware required.**

Limitations

  • The high-quality region is **fixed**; users who glance sideways may notice blur or aliasing.[13]
  • Aggressive settings can introduce shimmering or visible zone boundaries.[14]

Platform & engine support

  • **Standalone VR:** Meta Quest (Go → Quest 3) ships user-selectable FFR levels.[15]
  • **Game engines:** built-in toggles exist in Unity[16] (including OpenXR plug-in[17]) and Unreal Engine 4.27+.[18]
  • **Consoles & PC VR:** No system-level FFR exists on the original PlayStation VR, but some titles (e.g., Farpoint) implemented custom multi-resolution shading.[19]

Comparison with Dynamic Foveated Rendering

Feature Fixed foveated rendering Dynamic foveated rendering
Eye-tracking required No Yes
Typical shader savings 34–65 %[4] Up to ≈70 %[3]
User may notice blur if looking off-centre Yes No (if tracking latency is low)
Hardware cost Lower Higher

Future research

  • **Hybrid FFR + DFR** schemes that fall back to fixed maps when gaze data is unreliable.[20]
  • **Neural reconstruction** (e.g., DeepFovea) that regenerates fine detail in the low-resolution periphery.[21]

See also

References

  1. 1.0 1.1 1.2 "The Evolution of High-Performance Foveated Rendering on Adreno". 7 July 2021. https://www.qualcomm.com/developer/blog/2021/07/evolution-high-performance-foveated-rendering-adreno.
  2. "Save GPU with Eye-Tracked Foveated Rendering". 19 Oct 2022. https://developers.meta.com/horizon/blog/save-gpu-with-eye-tracked-foveated-rendering/.
  3. 3.0 3.1 Template:Cite journal
  4. 4.0 4.1 4.2 Template:Cite journal
  5. Template:Cite journal
  6. Template:Cite journal
  7. "Variable Rate Shading (VRS)". https://developer.nvidia.com/vrworks/graphics/variablerateshading.
  8. "A Foundation for High-Performing Graphics – AMD RDNA 2 Architecture". 2021. https://www.amd.com/content/dam/amd/en/documents/products/graphics/workstation/rdna2-explained-radeon-pro-W6000.pdf.
  9. "Variable Rate Shading – a scalpel in a world of sledgehammers". 18 Mar 2019. https://devblogs.microsoft.com/directx/variable-rate-shading-a-scalpel-in-a-world-of-sledgehammers/.
  10. "VK_KHR_fragment_shading_rate". https://registry.khronos.org/vulkan/specs/latest/man/html/VK_KHR_fragment_shading_rate.html.
  11. "Multi-Res Shading". https://developer.nvidia.com/vrworks/graphics/multiresshading.
  12. Vlachos, Alex. "Advanced VR Rendering Performance (slides)". https://media.steampowered.com/apps/valve/2016/Alex_Vlachos_Advanced_VR_Rendering_Performance_GDC2016.pdf.
  13. "What Is Foveated Rendering For VR & How Does It Work?". 15 Jul 2022. https://uploadvr.com/foveated-rendering-explainer/.
  14. Template:Cite journal
  15. "Oculus Go to Offer Fixed Foveated Rendering and up to 72 Hz Refresh Rate". 21 Mar 2018. https://www.roadtovr.com/gdc-2018-oculus-go-to-support-fixed-foveation-and-up-to-72hz-refresh/.
  16. "Foveated rendering (Unity Manual)". https://docs.unity3d.com/6000.0/Documentation/Manual/xr-foveated-rendering.html.
  17. "Foveated rendering in OpenXR". https://docs.unity3d.com/Packages/[email protected]/manual/features/foveatedrendering.html.
  18. "VR Performance Features". https://docs.unrealengine.com/4.27/en-US/SharingAndReleasing/XRDevelopment/VR/VRPerformanceAndProfiling/PerformanceFeatures.
  19. "A Look Inside Farpoint’s Rendering Techniques for VR". 4 June 2018. https://www.impulsegear.com/a-look-inside-farpoints-rendering-techniques-for-vr.
  20. Template:Cite conference
  21. Template:Cite journal