Version: Unity 6.4 (6000.4)
Language : English
Optimize GPU performance with variable rate shading
Implement variable rate shading

Introduction to variable rate shading

Complex graphics rendering that requires shaderA program that runs on the GPU. More info
See in Glossary
calculations for every pixelThe smallest unit in a computer image. Pixel size depends on your screen resolution. Pixel lighting is calculated at every screen pixel. More info
See in Glossary
can create significant GPU performance bottlenecks. Variable rate shading (VRS) is an optimization technique that allows you to vary the rate of pixel shader execution across the screen. On supported GPUs, pixels are grouped into logical tiles where every pixel in a tile uses the same rendering quality. This technique reduces GPU overhead while maintaining image quality where required.

You can use VRSVirtual Reality More info
See in Glossary
to reduce the shading rate in screen areas where lower visual quality is less noticeable. For example, you can do the following:

  • Reduce the shading rate of screen areas occluded by transparent UI elements.
  • Use motion vectors to reduce the shading rate in areas affected by motion blur, where visual quality is already reduced by the blur effect.

Supported platforms

Variable rate shading requires specific GPU hardware and graphics API support. It is supported on the following platforms:

  • Windows: DirectX 12 (DX12) API with VRS-capable GPU
  • Android: Vulkan API with fragment shading rate support
  • Consoles: PlayStation®5, Xbox Series X|S

Additional resources

Optimize GPU performance with variable rate shading
Implement variable rate shading