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?

  • ryper@lemmy.ca
    link
    fedilink
    English
    arrow-up
    48
    ·
    2 days ago

    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.

    • Snickeboa@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      4 hours ago

      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)

      • tomkatt@lemmy.world
        link
        fedilink
        English
        arrow-up
        15
        ·
        1 day ago

        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.

        • KingOfTheCouch@lemmy.ca
          link
          fedilink
          English
          arrow-up
          14
          ·
          1 day ago

          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.

      • ryper@lemmy.ca
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 day ago

        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.