Nvidia, AMD, and Intel back Microsoft's plan to fix shader compilation stutter

Daniel Sims

Posts: 2,438   +74
Staff
TL;DR: PC gamers have likely noticed frequent stuttering or lengthy shader-compilation loading screens in many titles over the past few years. Microsoft unveiled a potential solution to the problem last year, and it is set to expand across the Windows ecosystem with support from Nvidia, AMD, and Intel.

Nvidia announced its support for Microsoft's new Advanced Shader Delivery technology during a presentation at the Game Developers Conference this week. The feature, designed to address shader-compilation stutter in PC games, will arrive on RTX graphics cards later this year. AMD has also confirmed support, though it has not provided additional details.

In many titles with complex 3D graphics, shader compilation can cause seemingly inexplicable hitching and drops in average frame rates. More recently, some games have attempted to mitigate the issue by compiling shaders at startup, a process that can take several minutes and must often be repeated when users install new drivers.

Must read: Shader Compilation and Why It Causes Stuttering, Explained

Shader compilation occurs because when game developers create shaders – essentially small programs that render graphics – they must be converted into a format that the graphics chip can understand. Developers can easily perform this task for console games because systems such as PlayStation, Xbox, and Switch have known, fixed hardware configurations.

However, because developers cannot compile shaders for the near-infinite variety of PC hardware configurations, users often have to compile them locally. Valve can collect and distribute pre-compiled shaders for the Steam Deck because, like a console, its hardware configuration is fixed.

Microsoft aims to circumvent this problem on PC by rethinking how developers catalog, store, and distribute shaders. The State Object Database introduces a new format for storing shaders, which are then compiled using Intel's offline compiler and delivered through the Precompiled Shader Database. When users install games or drivers, the Xbox app downloads the appropriate shaders from the PSDB.

ASD debuted on the Asus ROG Xbox Ally and Ally X last year, where Microsoft said the feature reduced initial load times in Avowed by 80%. At GDC, Microsoft announced an SDK update that will allow developers to begin testing ASD on other Windows 11 devices.

Microsoft is also working with Nvidia, AMD, Intel, and Qualcomm to further integrate machine learning tasks such as upscaling, denoising, and texture compression into DirectX. Additionally, Intel, AMD, and Microsoft announced an update to DirectStorage that will help developers reduce load times on SSDs by introducing Zstandard compression. Meanwhile, Microsoft's PIX tool will streamline debugging.

Permalink to story:

 
But that's the Xbox app. Ideally, Steam, Epic etc would also get databases of precompiled stored shaders for popular GPUs themselves (or get access to this Microsoft Precompiled Shader Database).

Until then the only acceptable way to do shaders is for games to precompile ALL shaders on every new game or driver release. Sure it can take 10 minutes on startup but that's still preferable to compiling on the fly as needed while the game is running (I.e. stutters).
 
You know, 10 years ago none of this was an issue. What changed? I didnt have to compile shaders for Wolfenstein the new order or Spec ops the line or Civ V when they were new.
But that's the Xbox app. Ideally, Steam, Epic etc would also get databases of precompiled stored shaders for popular GPUs themselves (or get access to this Microsoft Precompiled Shader Database).

Until then the only acceptable way to do shaders is for games to precompile ALL shaders on every new game or driver release. Sure it can take 10 minutes on startup but that's still preferable to compiling on the fly as needed while the game is running (I.e. stutters).
It'd be nice if there was an option to tell Steam/Epic/Whomever to go and compile all the shaders for all software you have installed. If you have ~20-30 games that need it, click 1 button, set them in motion, then go make lunch or do chores or whatever.
 
You know, 10 years ago none of this was an issue. What changed? I didnt have to compile shaders for Wolfenstein the new order or Spec ops the line or Civ V when they were new.

We never had to compile shaders for Crysis either, running on late 2000s hardware.

Even worse, there are games that have long shader compilation routines every single time they're started, even if I don't change any settings or didn't update my drivers or Windows.

Looking at you STALKER 2.
 
You know, 10 years ago none of this was an issue. What changed? I didnt have to compile shaders for Wolfenstein the new order or Spec ops the line or Civ V when they were new.

It'd be nice if there was an option to tell Steam/Epic/Whomever to go and compile all the shaders for all software you have installed. If you have ~20-30 games that need it, click 1 button, set them in motion, then go make lunch or do chores or whatever.
This happens on Linux when you run steam with proton as it downloads some precompiled shaders each time and then compiles whatever extra is needed for vulkan before you even launch the game (since it translates directx to vulkan)
 
Close the performance gap between console and PC? The worst computer is still better than the best console...
 
I'm still waiting on DirectStorage.
The few times I saw directstorage highlighted in games a couple of years ago it was just as fast or faster to load with the directstorage dll deleted lol. With SSD's as fast as they are today I don't really see a need for it personally.
 
Close the performance gap between console and PC? The worst computer is still better than the best console...

You must be crazy, PS5 and XSX is like better than 70% of steam hardware and this is just the base model of PS5, PS5 Pro is much more capable.

Most pcs on steam is pure trash really, many people play games on old laptops or dusty desktops.

Shader compilation is one of the biggest problems for PC gamers in newer games and it needs to be fixed/improved.
 
You must be crazy, PS5 and XSX is like better than 70% of steam hardware and this is just the base model of PS5, PS5 Pro is much more capable.

Most pcs on steam is pure trash really, many people play games on old laptops or dusty desktops.

Shader compilation is one of the biggest problems for PC gamers in newer games and it needs to be fixed/improved.
Yeah I mean I've seen so many articles about how we could have better games but everybody is catering to hardware constrained PC gamers instead of the much stronger and capable hardware in the console market...
 
Back