Often when I launch a game through Steam that “processing Vulkan shaders” window appears and loads for a couple minutes. Sometimes it takes no time, sometimes it takes several minutes. But then, for larger games like Dune Awakening or Outer Worlds 2, the game needs to sit and process shaders for another couple minutes anyway. But for some games, like Enshrouded, I can skip the Vulkan processing with no problems in the game (I do that because the Vulkan processing doesn’t go anywhere). So what is that Vulkan processing for?


Console games only have to deal with a fixed set of hardware, so they come with precompiled shaders for that hardware. PC games don’t know what they’re going to run on, so the shaders are compiled on the machine where the game is played.
So how come this is not a thing on Windows? I switched to Linux earlier this year and I see this compilation prompt each time a launch a game. But I have never seen it on Windows.
It’s possible that I have this “use precompiled shaders” feature enabled on my Windows installation but not on Linux i guess. But I have literally never seen it on windows for any game on any launcher.
I am also curious as to why these shaders are not just compiled once with the first installation of the game (or once per update)
Actually, a lot of modern games on Windows suffer from micro stutters and frame hitching because it’s often compiling on demand if shader compilation isn’t built in upfront in the game. A lot of games run smoother on Linux with proton because of the shader precompilation.
Also, a lot of games hide it in load screens and don’t explicitly tell you. If you’ve ever updated a game and first run seems to be slower to load, that’s the game compiling shaders for you.
To add to what the others have said, shader compilation is enough of a problem on Windows that Microsoft is working on a system to deliver precompiled shaders from the cloud for supported games on supported hardware.