arandomguy
Veteran
Was this always the issue though?
How about similar to or part of the installation, there is a shader installation before you start the game, where it detects your hardware and pre installs based on those, so that doesnt happen during game?
The way you describe it, sounds like it is an almost unsovable common problem because of the nature of PCs
It depends on what you consider the issue is. The core issue was there but it wasn't as a much an issue in practice due to a combination of factors. The API pipeline (and therefore driver impact), development pipeline, complexity and focus (eg. the development side has been pushed to be more asset/art friendly for lack of a better term), and shader complexity is different now which has pushed the issue as a problem now in practice.
As for is it solvable, based on the current situation it seems complex. I think it's more accurate to say it isn't straight forward solvable in the way you can do it with the consoles. This in itself is a problem as a large part (and likely the greatest majority of the player and user base) basically finds it solved, and even on the PC user base side not everyone finds it an issue. So from a practical perspective this causes problems in terms of the amount of urgency in solving the issue against the complexity of doing so.
If we look at some of the possible solutions proposed they aren't really straight forward. Compiling shaders at startup/install/etc. isn't technically straight forward to implement and could (will likely) be a rather heavy task in terms of CPU time, which is likely going to be rather divisive in terms of opinion. Another option would be to do it asynchronously during play, but this wouldn't be a panacea either in terms of either solving the stutter issue.
You can also precompile to some extent like the consoles for PC games despite the limitations, we have examples with the Steam Deck and Geforce Now instances. However the caveat is huge due to it needing to be host hardware and driver specific which means you obviously can't do this for every permutation. What could be done is supplying it at least for some "popular" permutations, whether by the game developer, IHV, or even game distributor (eg. some are proposing Steam do this). A further downside with this is also the possible optics as you'd have to basically choose the "popular" configurations. By this I mean say if Returnal supplied precompiled shaders for the RTX 3060 Driver 528.49 only (or some subset of combinations), what would the reaction be?