For the past few months or so, steam precaching has been out of control. I have to download between 10 and 30 GB of shader precache data per day. That is extremely ridiculous. Steam’s shader caches are quite often almost as large as the game itself. For example: the image here is a game that is ~7GB for the full game, downloading 10GB of shader precache. If I download an average of 30GB of shaders per day, then that is almost 1TB of data downloaded written per month just in shaders…

Not to mention that games I play regularly like CS2 get a precache update literally every 2 days that is 5-10GB and if I manage to cancel it, there is 0 difference in performance at all.

Also fossilize replay that takes 20%-50% CPU load, sometimes for an hour and is the single highest user of disk IO on my entire system. I would be concerned about SSD wear if it was during the early times of ssd just because of the massive amount of writes.

I’m all for downloading shader precaching, but at normal intervals of after updates, not just randomly every few days when there hasn’t been a game update in months or years. I don’t want to delete all of my games because I only have 100/30 internet, so it would take me a long time too redownload games.

Has anyone else been seeing these ridiculous intervals and datasets of shader cache? Could there at least be a selective pre-caching setting only for games that I play regularly so I am not caching shaders for games that I haven’t played in 2 years?

  • je_skirata@lemmy.today
    link
    fedilink
    arrow-up
    24
    arrow-down
    1
    ·
    11 months ago

    I had this problem for awhile, eventually I said enough and turned off shader pre-caching. Never noticed a difference in performance.

    • simple@lemm.ee
      link
      fedilink
      English
      arrow-up
      14
      ·
      edit-2
      11 months ago

      It depends on the game, turning off shader pre-caching can cause a lot of stutters. I agree it should be turned off unless you need it though.

  • Stiltonfondu@sopuli.xyz
    link
    fedilink
    arrow-up
    15
    ·
    11 months ago

    What proton version are you using? I think shader cache updates go inline with proton version updates so I’d you’re on experimental or bleeding edge you’ll get more updates

  • gray@pawb.social
    link
    fedilink
    arrow-up
    10
    ·
    11 months ago

    Same issues here, opening steam each night greets me with every single game downloading 500 mb - 5 gb of shader updates. It’s insane. I don’t get why my steamdeck doesn’t do this but an Arch desktop does?

    • sudotstar@kbin.social
      link
      fedilink
      arrow-up
      4
      ·
      11 months ago

      My Deck and Linux desktop regularly have shader cache updates every few days, but they’re generally tiny and finish near-instantly. I’ve never seen the behavior here of needing to download multiple gigabytes of shaders daily (and I’m thankful for it, with the frustrating data cap I have from my ISP).

    • Blisterexe@lemmy.zip
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      11 months ago

      On arch you can just turn shader caching off, the newer mesa versions cache the shaders in the background, you don’t need steams thing anymore Edit: spelling

  • SunRed@discuss.tchncs.de
    link
    fedilink
    arrow-up
    4
    ·
    11 months ago

    Personally I deactivated pre-caching quite recently actually as I noticed as well this getting quite excessive for certain games. So I now wait until this is a thing: https://github.com/ValveSoftware/steam-for-linux/issues/6486 Seemingly the issue seems to be with games that have a big workshop like A Hat in Time or just huge games like No Man’s Sky. I got 10GB and 5GB shader cache updates daily for these games respectively before I turned it off.

  • Voyajer@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    11 months ago

    Aren’t shader caches dependent on your graphics driver version? If your graphics driver gets updated it’ll need to either generate them again or pull the new version from steam.

  • mr_MADAFAKA@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    11 months ago

    I would recommend to turn off auto updates, I was also having a lot of shader cache to download daily(when rebooting) but after scheduling auto updates between 4AM - 5AM and that fixed it for me

  • teawrecks@sopuli.xyz
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    11 months ago

    I agree that there should be better control in steam over what games are prioritized for both updates and shader caching.

    But I was under the impression that most shader precaching was done by compiling locally in the background (via fossilize), not downloading. I agree that a 10GB download for AHIT is sus, but I don’t see anywhere on the screen that denotes it is downloading shaders.

    Nonetheless, the shader pipeline problems of these new APIs (both pipeline explosion and caching) are not solved yet. IMO caching is not solved because GPU vendors don’t allow their new drivers to work with “old” shader pipelines. They have no incentive to (it would require extra driver work, and you couldn’t force users to use your latest compiler optimizations), and gamers don’t know to ask for it.

    • JustEnoughDucks@feddit.nlOP
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      11 months ago

      If you see that little i there, that is information that says “shader precaching” as the information when hovered over. It will generally be a blue patchnotes icon for a game update and an i for steam updates like precaching.

  • Kras Mazov@lemmygrad.ml
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    11 months ago

    I prefer to keep Shader Precaching on for the Media Foundation fix that Valve uses, but I left Background Processing of Vulkan Shaders off, if I’m not wrong this way it should only update when you open a game.

    Alternatively you could disable it and use Proton-GE for the games that need the Media Foundation fix. Performance should be the same nowadays with it on or off.

  • simple@lemm.ee
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    5
    ·
    edit-2
    11 months ago

    Shader caching is a thing that happens when you’re playing a game. The first time you see an effect (like particles), your computer has to process that and cache it for the future. This can sometimes cause stuttering for larger effects, so shader pre-caching is a thing that downloads all these shaders for you so you won’t stutter while playing.

    It’s useful for older PCs where stuttering can be very noticeable, but it’s probably something you should turn off unless you think you need it.

    • dan1101@lemm.ee
      link
      fedilink
      arrow-up
      6
      ·
      11 months ago

      Yeah normally, but in some circumstances on Linux an excessive amount of shader caches are downloaded. I tried Linux gaming on a ~50GB partition and quickly ran out of space because of all the shaders.