Microsoft standardizes variable-rate shading as a part of DirectX 12

Nvidia's Turing graphics cards came along with quite a few new technologies. The big one of course is their RTX real-time ray-tracing feature, but Deep-Learning Super-Sampling (DLSS) has gotten its share of time in the spotlight as well. However, perhaps the most interesting technology to toddle along with Nvidia's Turing architecture is the one that's been mostly overlooked: variable-rate shading (VRS).

Jeff wrote about "content-adaptive shading" (an implementation of VRS) back when it was added to Wolfenstein II: The New Colossus in a patch. Now, Microsoft has announced that the technology has been added to DirectX 12 as an API feature for anyone to use. In a blog post titled "Variable Rate Shading: a scalpel in a world of sledgehammers," Microsoft's Jacques van Rhyn explains the concept of VRS and briefly examines the benefits it offers using a demo especially constructed using Civilization VI and a GeForce RTX 2060.

Red areas are shaded at the full rate, while blue areas are shaded at a reduced rate.

Variable-rate shading as implemented in DirectX 12 differs slightly based on the capabilities of the hardware on which you're implementing it. Microsoft divides hardware into "Tier 1" and "Tier 2", which currently translates into "most DirectX 12-capable hardware" and "Turing cards." The difference comes into whether or not the graphics card can vary the shading rate within a single draw call; Tier 1 GPUs are limited to changing things up between separate draw calls.

Perhaps ironically, the Civilization demo that Firaxis created actually sees a larger performance improvement on Tier 1 cards, but as Microsoft notes, the game does take a small hit to visual quality due to the reduced shader work done in certain areas. Firaxis says that implementing terrain and water at a lower shading rate than vehicles, buildings, and UI afforded a 20% performance improvement on the RTX 2060 card while playing in 4K. The Tier 2 implementation sees a smaller speed gain—"only" 14% over full-rate shading—but is visually indistinguishable from the full-rate shaded image.

This was apparently captured on an Intel Gen11 graphics part.

While Nvidia's Turing GPUs are the only Tier 2-capable designs at this time, Intel more or less created the idea way back in 2014 with its "coarse pixel shading" concept. Unsurprisingly then, Chipzilla's upcoming Gen11 graphics hardware—which will be found in both its next-generation "Sunny Cove" desktop CPUs as well as its "Elkhart Lake" low-power processors—will support variable-rate shading in hardware as well. The technology offers decent gains on Nvidia's powerful graphics hardware, but it could prove to be a real boon to Intel's more resource-constrained integrated offerings.

Microsoft says virtually everyone who's anyone is looking at adding VRS to their game engines, including such names as Unity, Unreal, Activision, Ubisoft, and a few smaller developers. DirectX developers keen to get cracking on the new tech will be pleased to hear that the PIX performance tuning and debugging tool already has full support for the feature. The company will be talking about VRS at its sessions during the 2019 Game Developers Conference, and interested parties can hit up the DirectX forums for more details.

Tip: You can use the A/Z keys to walk threads.
View options