Variable Rate Shading (VRS) is an advanced rendering optimization technology that dynamically changes the "granularity (frequency) at which pixel shaders are executed" for each area of the screen on the hardware (GPU) side, reducing the drawing load.
Real-world analogy: Efficient brushstrokes in a coloring book
The operating principle of VRS can be compared to "differentiating the use of brushes 'near the outline' and 'wider inside' of a coloring book".
- Conventional (without VRS): When coloring, you use only an ultra-fine millimeter pen (super high-resolution calculation) to evenly fill in the detailed character outlines and the vast, flat blue sky in the background (a flat area with no contrast), one stroke at the same speed. Naturally, it takes a huge amount of time and energy (GPU load).
- VRS solution: As before, the important "character outline (high frequency area)" with intricate lines is carefully drawn with an ultra-fine millimeter pen (1x1 pixel calculation). On the other hand, for the "background blue sky and darkness (low frequency area)" where there is almost no color change, use a thick marker pen (calculating 2x2 pixels at once) to roughly fill in all at once. This dramatically speeds up the process without compromising the quality of the finished painting.
Figure: Infographic of VRS that dynamically changes GPU shading load in important edge areas and flat areas
Mechanism and operating principle
VRS The screen space is divided into low-resolution maps called VRS textures (shadowing rate maps), and the GPU determines the processing rate (1x1, 1x2, 2x1, 2x2, 4x4, etc.) of each tile (8x8 or 16x16 pixels). This smartly reduces calculation costs only in areas where image quality deterioration is less visible to humans.