Advanced Shader Delivery uses precompiled shaders for “console-like load times” across PC hardware.

  • sp3ctr4l@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    10 hours ago

    https://pulsegeek.com/articles/shader-pre-caching-on-steam-deck-real-benefits/

    Ok, so, its kind of both:

    Shader pre-caching means compiling GPU programs ahead of play to avoid on-demand stalls. On Steam Deck, the path usually includes prebuilt Vulkan pipelines distributed by Steam, plus local caches created by DXVK for DirectX 9 and 11 and by VKD3D for DirectX 12. This two tier approach mitigates runtime work and smooths frame pacing when new materials or post processing effects first appear.

    Caches consume storage and can become stale after game patches or driver changes. When mismatches occur, the system may recompile anyway, so the saved time diminishes.

    Shader stutter often traces to pipeline state changes that force compilation or shader specialization. With Vulkan, pipeline objects encode fixed state to avoid per draw setup, which shifts cost to creation. Pre-caching amortizes that by compiling pipelines during downloads or first launches. The effect is fewer spikes, especially during initial encounters with enemies, weather transitions, or new regions. Still, certain shaders depend on runtime constants or device specific details, which can prevent perfect reuse.

    So, at least with Vulkan/Steam Deck/Steam on Linux, you may be downloading various prebuilt components, and you may be pre-caching/pre-compiling local files based off of those prebuilt components, and the game/gpu/driver.

    I’m not entirely sure if the Steam Download section actually distinguishes between these two different kinds of procedures, it may, and I just haven’t noticed, because normally it is fast enough that I don’t pay attention.