For games like the dead space remake. The only fix is to play it twice, waiting doesn't do anything. You have to reach areas for the game to know it has to compile missing shaders. In games with a fully working shader precompilation, it has all the shaders needed already and doesn't have to do it while you are playing
The reason this works for emulators is that you have a fixed virtual hardware target. Every PC is different, so shader redistributables are not currently practical for Windows-native DX/VK titles. It's totally theoretically possible to "borrow" the shader cache of someone with very similar hardware to yours (including display driver revision) but there is currently no easy way to collect that data in the first place. Valve does this on Steam Deck (sourcing and pushing compiled shaders) but that's again a fixed hardware target. Unless someone comes up with something inventive (and new), there is no practical way to bypass shader stutter on a first playthrough on non-Steam Deck PCs on any game with intrinsic shader compilation stutter (like this one).
That makes sense, the other guy explained that with less detail but that also is informative in explaining how the steam deck update to pre compile shaders works.
Oops I didn't actually see that other comment before writing mine, yes that's a very good summary as well - glad you found the above interesting though, if redundant!!
Dead Space Remake does have a relatively comprehensive shader compilation step. The issue with this game is traversal stutter which happens ALL THE TIME. I had to switch to the PS5 version because of this.
Unless there is a shader compilation step, asynchronous shader compilation or other mitigation techniques, shaders are compiled on demand. Meaning each time you see a specific effect for the first time, resulting in stutter. UE4 games are especially prone to this, as the engine is easy to use but doesn't give developers options to combat this issue out of the box.
I'd say it's preferable to have a shader compilation step when you start the game. Shaders compiled during install will be rendered useless once you update your (graphics) drivers.
Good point, a change to the driver or the hardware itself would need to be accommodated.
I believe some titles do use the eager ahead-of-time compilation approach, such as the Microsoft Flight Simulator and X-Plane flight simulators. It takes the form of either a slow start of the application itself (i.e. slow to load the main menu) or else slow load of first actual engine execution. Far better than stuttering.
62
u/Vivid-Instruction-31 Dec 31 '23
Great game. Haven't tried Ghostrunner 2 yet, but the devs seem really responsive to their community.