August 20th, 2025
heartlikemind blown9 reactions

Introducing Advanced Shader Delivery

This year at gamescom, Microsoft is highlighting new gaming features coming for Windows, particularly for handheld devices. We want to highlight one of the DirectX team’s most exciting new contributions to the PC gaming ecosystem, which will make its debut on the new ROG Xbox Ally and ROG Xbox Ally X.

Advanced shader delivery addresses one of the most frustrating challenges for PC gamers today – long load times and disruptive stuttering during a game’s first launch. These delays are caused by the need to compile graphics shaders and cache them for future use. For a deep-dive on this topic, we recommend reading Epic’s article – “Game engines and shader stuttering.” We have partnered with teams across Xbox and at AMD to precompile this data and distribute it at download time for key titles via the Xbox PC app This approach not only gets you into your games faster, but it also prevents most instances of stutter that cause performance issues.

As an example, in Obsidian Entertainment’s Avowed, our engineering teams observed launch times reduced by as much as 85%. This not only means you’re playing your game faster, but your battery life is spent on playtime, not compiling.

Our initial launch of advanced shader delivery requires no work from game studios to integrate. As we expand support across more games and devices, we will collaborate with game developers to integrate the capability directly into game engines — ensuring games can take advantage of advanced shader delivery on launch day.

 

How does it work?

A game interacts with the GPU using programs called shaders, which are responsible for things like lighting, texturing, physics, and more. These shaders need to be compiled to a GPU-specific format –by sending them to the GPU driver in an intermediate form– before they can be used. Since these compiled shaders are specific to the game, GPU, and driver on a given device, it’s not traditionally been feasible to compile in advance – the best option so far is at game launch in the form of a loading screen, or else it needs to be done “just-in-time” which can cause stuttering. Once these shaders are compiled, they can be cached for subsequent runs of the game – until the driver updates and invalidates those caches.

To circumvent this issue, the DirectX team has created a method to collect the shader data from any given game and package it up in a new standardized format, called a State Object Database (SODB). We have worked with our key hardware partners to separate out the shader compiler from the graphics driver and unite the game data in the SODB with the compiler in the cloud to create a Precompiled Shader Database (PSDB). This PSDB can be distributed by the Xbox store alongside the game to supplement the shader cache. Now, when a game runs for the first time, it will see all the shaders it needs already available in a cache in Windows and can skip doing that compilation step on the gaming device. If a device takes a driver update, we will detect that and update the shader cache automatically.

To put it simply, we worked with our partners to take an expensive workload and move it from each gaming device into the cloud instead, to be distributed at download time.

Advanced shader delivery diagram image
This diagram shows how precompiled shaders (PSDBs) are delivered to the user on an ROG Xbox Ally or ROG Xbox Ally X

 

What’s Next?

While we’re currently focused on supporting the launch of the ROG Xbox Ally and ROG Xbox Ally X, we’re excited to share that we’re releasing an AgilitySDK in September. This will provide both developers and gaming storefronts with the initial set of tools and APIs needed to expand this functionality across the industry. At that time, we will also provide more details on how developers can engage with this feature for in-market titles.

We’re also continuing to collaborate with our hardware partners to grow the number of devices that will be able to support advanced shader delivery. Stay tuned for more details on device expansion in September.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Category
DirectX

Author

Cassie Hoef
Principal Program Manager

7 comments

Discussion is closed. Login to edit/delete existing comments.

Sort by :
  • Kusay Farhan

    This feels like a bandaid fix to the problem. What will happen 10 years from now when Microsoft decides to shutdown the servers that hold these shaders? If Game devs start completely relying on this feature it will cause a terrible experience in the future. The correct approach is to fix this at the DirectX API level where shaders are compiled asynchronously and allow for hints so that a subset of shaders are compiled at a time.

  • Bogdan Iftode

    You don't actually need the hardware to be able to compile shaders for it. Just like you don't compile e.g. Android executables directly on the target device.
    It's not something exposed to end users, but the shader compilers that are present in graphics drivers can output different binaries depending on what target architecture is selected, based on what the driver sees in your PC. Seeing how they said they're working with IHVs, they probably have access to those shader compilers directly and can configure and run them as required. This is likely similar to how console games have their shaders...

    Read more
  • Yeison Liber

    Excellent, DirectX is getting better and better 💪😃

  • Joshua Kraemer · Edited

    So, how does this even work? The article feels like it completely skips a step. If shaders are being compiled on a cloud server, then is support for new GPUs and chipsets reliant on that hardware being added to those servers?

    With regards to driver updates, would the server be able to provide shaders for older versions, in the event the most recent drivers introduce bugs and some users choose not to update until they're resolved?

    Finally, how would "other storefronts" even use this? Do they need to roll their own servers, or is everything pulling from Microsoft? If it's all...

    Read more
  • jundong si

    When will PC be able to use this feature?

  • Michael Mooney

    I wonder if we willl see shared shader libraries that are stored in the cloud within a publisher or even within the Xbox platform itself and all games using a sheder benefiting from work done to that shader like Linux

  • Kurt Loeffler

    This is really silly