Title. I always skip them and don’t notice any detrimental effects at all. I used to let them run every time, but I don’t want to wait 5 minutes for every patch update bug fix anymore
Title. I always skip them and don’t notice any detrimental effects at all. I used to let them run every time, but I don’t want to wait 5 minutes for every patch update bug fix anymore
So basically, depending on the game, it’s mostly fine to skip, but sometimes it’s not, and if you have issues, try letting it compile?
(edit) To be clear, I’m not an expert, and it’s been at least a decade since I’ve had to work with shader programming. My knowledge could be completely outdated.
Important to note that what happens when you skip it is exactly what happens with most games when you run them outside Steam (unless the game itself precompiles its shaders on first launch).
When the graphics library (Vulkan, OpenGL, or DirectX) needs to load a shader, it first checks the shader cache (or pipeline cache in Vulkan’s case) to see if it can find the compiled bytecode. If the bytecode exists (hit), it is loaded directly into VRAM, much like the machine code of an executable. If it doesn’t (miss), the shader first has to be compiled from its source code into bytecode. This is a CPU-bound operation, which can introduce performance issues (stutters, freezes) and spike the CPU usage. After that, the resulting bytecode is stored in the cache.
Steam does the same, but preemptively. It scans the game files and compiles and caches any shaders it can find. The difference is only in the timing.
Pretty much. I was playing BotW on an emulator that was using Vulkan and as I ran into new areas, or new enemies appeared it would stutter as things were compiling (it also has a debug option to tell me when new shaders were being compiled so I knew that’s what it was). I eventually switched to pre-compile. It took about 10 minutes, but after that everything ran silky smooth.