So funny how no-one could ever have predicted this. With all the increase in power and storage speeds, getting tripped up on shaders! And needing such a long time to recompile them too.
What's stopping a library of precompiled shaders on a server and downloading the right ones?
If I were to take a guess, it'd be the almost infinite combinations (probably not close to infinite but a prohibitive amount) of PC hardware
and drivers. Especially drivers, as any driver change can alter how a shader needs to be compiled for a given graphics card. So, changes by NV or AMD to allow a game to run faster on X game can alter how a shader needs to be compiled for more than just X game.
With sometimes multiple versions of a driver each month depending on how many high profile games are launched combined with multiple years of driver combined with multiple generations of video cards with multiple cards in each generation, it can be quite a lot of effort to pre-generate all permutations of a shader. Some or all of which will then need to be generated again with either a new graphics driver release or new game patch.
I'm not entirely sure how much other parts of a PC's hardware and driver composition would impact shader generation either.
And then it also comes down to who holds the repository? Initially, you'd think Steam would be a logical point, but then not all gamers are on Steam. And even for games on Steam, most of the games that pre-compile shaders do so in their own launcher, so Steam may not even have direct access to them. Steam only has the legal right to redistribute the software package as provided to them by the developer.
Next applies to that last bit potentially.
Gamers en masse have no conviction. People don't even stop pre-ordering games.
What is it about DirectX that means Steam's option only works with Vulcan?
I suspect at least part of the reason why Valve is able to pre-compile and cache shaders for Vulcan and OGL is that due to running through Linux (for use on Steam Deck), those versions don't pre-compile their shaders in each developer/publishers own launcher.
Alternatively due to how games must be run on Steam Deck through SteamOS, there might be new licensing agreements that allow for interception, precompilation, caching and distribution of non-provided files such that those games can run on SteamOS through Linux. A side benefit of those licenses might be that Valve has more freedom WRT distribution if the game relies on Vulkan or OGL as their renderer even outside of Linux.
Or perhaps it's a licensing thing with DX or some other technical snafu that I'm unaware of since I'm not a graphics programmer.
Regards,
SB