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?

  • who@feddit.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    16 hours ago

    Every unit of a given console contains the same graphics hardware, so a single version of a game’s shaders can be compiled and shipped with the game, and they will run on every console of its kind.

    (Also, early consoles didn’t use shaders.)

    PC graphics hardware varies a lot, so shipping precompiled shaders with the game would require the developers to collect samples of all the world’s PC GPU families, compile the game’s shaders for each one, and ship all those compiled versions of all those shaders with the game. That would be impractical.

    (The variance is arguably even greater in Linux gaming, which often involves graphics API translation, which can affect compiled shaders.)

    It could be done for the Steam Deck, since every Deck has the same graphics hardware, if game developers & publishers were willing to make and distribute Deck-specific builds. However, that would rather defeat the Deck’s advantage of being able to run just about any PC game unmodified. Steam’s “processing Vulkan shaders” step is designed to more or less accomplish the same thing, at least for popular games.

    • woelkchen@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      2 days ago

      It could be done for the Steam Deck, since every Deck has the same graphics hardware, if game developers & publishers were willing to make and distribute Deck-specific builds.

      Valve does it. They show up as updates and get downloaded off Steam. It’s optional but it’s enabled by default. Parent poster has disabled it at some point and forgot about it.

      • who@feddit.org
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        16 hours ago

        The last sentence of the comment to which you replied covers this. What Valve does here is not the same thing, since it doesn’t involve the game developer or publisher, and doesn’t work for non-Steam games, and happens as an extra step. But it does come close to achieving the same effect (when it works), and it is pretty cool.

        Edit: Graphics software enthusiasts who find the process interesting might want to check this out:

        https://github.com/ValveSoftware/Fossilize