this post was submitted on 14 Mar 2026
16 points (100.0% liked)

Gaming

4596 readers
276 users here now

The Lemmy.zip Gaming Community

For news, discussions and memes!


Community Rules

This community follows the Lemmy.zip Instance rules, with the inclusion of the following rule:

You can see Lemmy.zip's rules by going to our Code of Conduct.

What to Expect in Our Code of Conduct:


If you enjoy reading legal stuff, you can check it all out at legal.lemmy.zip.


founded 2 years ago
MODERATORS
 

Advanced Shader Delivery uses precompiled shaders for "console-like load times" across PC hardware.

you are viewing a single comment's thread
view the rest of the comments
[–] sp3ctr4l@lemmy.dbzer0.com 1 points 6 hours ago* (last edited 6 hours ago) (1 children)

... forty minutes?

Good lord.

I think the longest amount of time I've spent compiling shaders on a Steam Deck is for Cyberpunk 77, and it can't have been much more than 10 minutes.

... Either that or trying to get a Switch emulator to properly pre-compile shaders.

But anyway: This is an unaviodable thing that has to be done when the game relies so heavily on GPU shaders.

You have to actually generate those shaders, before you can use them, and that's gonna be specific to your hardware.

So what MSFT is doing here is just pre-compiling them for I guess ... every game they offer, with every Nvidia GPU/driver update, and then having a cloud system that allows you to download them instead of compiling them on your end.

So basically its kinda like downloading a game + hardware specific driver, sort of.


Also, I... I'm not sure, but I don't think Steam does this.

Yeah, its indicated that shader compilation is happening in the 'Download' section, but so are 'File Operations' - aka, cleaning up loose files and doing memspace management ...

I am pretty sure you are just actually compiling the shaders on your own hardware, its just visualized to the user as a step in the 'Download' section, to get across the idea that the game isn't ready to be played untill all those steps are complete.

Or, you can change a setting somewhere, and it just skips that step so that it isn't part of the initial 'Download' process, and instead occurs the first time you hit play, or, after any game/driver update that has delta'd the shader code.

[–] anguo@piefed.ca 1 points 5 hours ago (1 children)

Shaders are definitely downloaded on the Steam Deck. Don't know about other hardware though.

[–] sp3ctr4l@lemmy.dbzer0.com 3 points 3 hours ago* (last edited 3 hours ago)

https://pulsegeek.com/articles/shader-pre-caching-on-steam-deck-real-benefits/

Ok, so, its kind of both:

Shader pre-caching means compiling GPU programs ahead of play to avoid on-demand stalls. On Steam Deck, the path usually includes prebuilt Vulkan pipelines distributed by Steam, plus local caches created by DXVK for DirectX 9 and 11 and by VKD3D for DirectX 12. This two tier approach mitigates runtime work and smooths frame pacing when new materials or post processing effects first appear.

...

Caches consume storage and can become stale after game patches or driver changes. When mismatches occur, the system may recompile anyway, so the saved time diminishes.

...

Shader stutter often traces to pipeline state changes that force compilation or shader specialization. With Vulkan, pipeline objects encode fixed state to avoid per draw setup, which shifts cost to creation. Pre-caching amortizes that by compiling pipelines during downloads or first launches. The effect is fewer spikes, especially during initial encounters with enemies, weather transitions, or new regions. Still, certain shaders depend on runtime constants or device specific details, which can prevent perfect reuse.

So, at least with Vulkan/Steam Deck/Steam on Linux, you may be downloading various prebuilt components, and you may be pre-caching/pre-compiling local files based off of those prebuilt components, and the game/gpu/driver.

I'm not entirely sure if the Steam Download section actually distinguishes between these two different kinds of procedures, it may, and I just haven't noticed, because normally it is fast enough that I don't pay attention.