Variable Rate Shading Goes Big at GDC 2019, with Microsoft Pushing an API and Developers Committing to It
The Variable Rate Shading rendering technique was first introduced to the graphics market by NVIDIA with the RTX (Turing) architecture. Recently it was confirmed to be supported via hardware on AMD’s next-generation graphics card line, too, though this is a rumor for the time being.
Today, with the Game Developers Conference 2019 underway, Microsoft revealed an API dedicated to Variable Rate Shading as well as a significant list of game developers and publishers who’ve agreed to add the technology to their engines and games. These include Playground Games and Turn 10 (Forza), Ubisoft, Massive Entertainment (The Division, Avatar), 343 Industries (Halo), Stardock, Io Interactive, Activision, Epic Games and Unity.
Variable Rate Shading allows developers to selectively reduce the shading rate in areas of the frame where it won’t affect visual quality, letting them gain extra performance in their games. This is really exciting, because extra perf means increased framerates and lower-spec’d hardware being able to run better games than ever before.
VRS also lets developers do the opposite: using an increased shading rate only in areas where it matters most, meaning even better visual quality in games.
On top of that, we designed VRS to be extremely straightforward for developers to integrate into their engines. Only a few days of dev work integrating VRS support can result in large increases in performance.
Our VRS API lets developers set the shading rate in 3 different ways:
- Per draw
- Within a draw by using a screenspace image
- Or within a draw, per primitive
There are two flavors, or tiers, of hardware with VRS support. The hardware that can support per-draw VRS hardware are Tier 1. There’s also a Tier 2, the hardware that can support both per-draw and within-draw variable rate shading.
Developers won’t have to choose between techniques
We’re also introducing combiners, which allow developers to combine per-draw, screenspace image and per-primitive VRS at the same time. For example, a developer who’s using a screenspace image for foveated rendering can, using the VRS combiners, also apply per-primitive VRS to render faraway objects at lower shading rate.
According to Microsoft, VRS provided a 14% performance boost under DirectX 12 (and NVIDIA RTX hardware) when used in Civilization VI by Firaxis. Most importantly, there was no noticeable reduction in image quality. Intel is also experimenting with Variable Rate Shading technology on their prototype Gen 11 graphics architecture, so gamers won’t be missing out there.