Microsoft has updated its DirectX 12 graphics API with a hot new feature: Variable Rate Shading. The technique has been a boast of Nvidia’s Turing GPU architecture, but the lack of support in titles has made it a hard sell.
By implementing VRS in DirectX 12, Microsoft is likely to change that. With just a few days effort, developers will be able to enable the feature for major performance improvements with minimal quality loss.
But what is Variable Rate Shading? Well, it’s an answer to a problem developers have had for some time. When crafting a frame, the GPU must calculate the color of pixels in the scene, with the developer deciding at what resolution those shaders are outputted.
Traditionally, that’s been a blanket toggle. Shaders remain consistent for the entire frame including areas that aren’t as important. With VRS, devs can reduce the shading rate for different areas of the screen, such as parts with less detail.
The result is major performance gains with an almost indistinguishable change to visuals, especially in motion.
Variable Rate Shading Tiers
Microsoft has been working with Fireaxis to showcase this, with multiple ‘tiers’ of VRS in Civilization VI. Each uses different techniques for differing degrees of quality and performance.
At Tier 1, Civ saw a 20% FPS increase for the image pictured above. The first tier let the devs draw terrain and water at a lower shading rate, while smaller assets were shaded at a higher resolution.
At 1440p, you’ll note that the mountains at the back on the right side are more pixelated than the left. You can also see a loss of quality on ground terrain at the bottom, while the tents of the logging camp remain clearly visible.
At Tier 2, the changes are a lot harder to notice. The devs are using a screenspace image and an edge detection filter to intelligently detect where more shading is required. As a result, it’s primarily the dark water that sees a quality loss if you pixel peep the left-hand side.
For now, Microsoft has announced DirectX 12 VRS support on Nvidia’s Turing GPUs and upcoming Intel hardware. However, AMD is rumored to be launching its own VRS functionality with its upcoming Navi line. It would stand to reason Microsoft would support that, too.
Either way, developers can start adding VRS to games today. Microsoft says major studios and engine are working to add VRS, including Unity, Activision, Ubisoft, Epic Games, Playground Games, Turn 10, and 343 Industries.
Basically, Turing users can expect to see a ton of games launching VRS support in the near future.