• MentalEdge@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    edit-2
    4 months ago

    I know.

    But only games running dx12/Vulkan must compile shaders.

    The “normalcy” of sutters on linux is because dx7-11 games are running through vulkan, and those games were never coded to account for the way Vulkan works. Hence the shaders are compiled (by VKD3D/DXVK, not the game) during gameplay when first needed.

    Like I said, if games must compile shaders during gameplay, they should do so asynchronously in order to not impact frametimes. This only applies to titles actually coded with the intention of being run under dx12/vulkan. Elden Ring in particular straight up violates the dx12 spec.

    Compiling the shaders in advance also doesn’t take 30 minutes, and doesn’t require doing so for the entire game. Many games will only compile the shaders for the immediate area that a player is in. (Apex Legends in dx12 mode for example processes only the current map in rotation and lets you play when it’s done)

    Games that precompile shaders when running using Vulkan/dx12 have never made me wait longer than a few minutes at most, and only at first launch.

    There is no excuse.