Version: Unity 6.5 (6000.5)
Language : English
Optimize GPU performance with variable rate shading
Implement variable rate shading

Introduction to variable rate shading

Complex graphics rendering that requires shader calculations for every pixel 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 VRS 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