Nice to watch the DF Direct with their conversation about shader compilation issues facing PC games! I'm SO glad they are continually talking about it. They hit most of the points I've already touched up on this forum multiple times.
The big problems are (and in the order I feel they should take priority) :
The developer's ability to capture all the required shader/material data required to build proper PSO pipeline caching systems. This requires a lot of upfront work/time from the developer, having to continually rebuild their projects, replay through levels of their games, or even build specialized levels to gather the necessary data.
--- This should be their job... there's no reason why these big AAA studios can't have people running through their games and generating the required data for them.
--- If they are smaller or unable to do so, then there should be an infrastructure to crowdsource that data from your players. (all the major engines should support this) And developers can then update the game.
Developers not opting to pre-compile at first launch. The developers SHOULD be doing a good enough job generating the required compiling/caching pipeline that they are able to pre-compile most everything eliminating most stutters in the first place. That should be done upon first launch (or after driver/gpu change).. This should become standard practice.
--- Either give gamers the option, or force it
--- Augment that process with the ability to connect to a server which detects your system config, and then compiles the required shader/PSOs and downloads them to your PC. Ready to go.
Ideally, it could be a general service provided to all developers on a given platform (let's say in this case, Valve, with Steam) where the developer has uploaded the game to their server, the server detects the hardware configuration of the PC downloading the game, it runs the game, generates the required pipeline caches for a given hardware configuration, and downloads it to the user's PC by the time the user's download has finished.
I honestly think something like that could work. Companies like Valve, AMD, Nvidia, and Intel... they're doing far more complicated things than that in the server space already. I don't think the onus should be on Valve... but I think as the platform provider.. they have the ability to remain neutral and provide the same quality service to all users of said platform.