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

  • gegil@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    53
    ·
    9 hours ago

    Skipping vulkan shader compilation in steam will instead make shaders compile at runtime when game is running. You usually will not notice any issues, but if the game is grafically intensive and it suddenly has to load shaders which was not yet compiled, you will see the lags or stutters when they first appear. Also, depending on the hardware, game performace may be reduced while shaders are being compiled.

    • Zarobi@aussie.zoneOP
      link
      fedilink
      English
      arrow-up
      20
      ·
      9 hours ago

      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?

      • Err(()).unwrap()@lemmy.world
        link
        fedilink
        English
        arrow-up
        23
        ·
        edit-2
        8 hours ago

        (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.

      • ramble81@lemmy.zip
        link
        fedilink
        English
        arrow-up
        5
        ·
        6 hours ago

        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.