It feels like I mine bitcoins for our Great Daddy Gaben every other update, setting my CPU at 100% for a long time.
I know it makes difference (to skipping it and eating lags), it works, but how it doesn't use previous literal gigabytes of generated shaders, starting from 0% every time? Why it takes so much time?
I feel like I'm a dumbass and I miss something obvious. Or I just feel like I'm alone with it? Do you guys all deal with it?
Am sitting at 66% percents, my PC heats like it renders video in Premiere, just to let me play the game I've played yesterday again. Guess all my recycling and replanting routine can fuck right off with that power consumption. Sorry, nature, I tried.
But anyway if you are tired of it or knows some tricks, write what's on your mind.
What GPU are you using and what driver version? Both AMD and Nvidia have added support for VK_EXT_graphics_pipeline_library which greatly improve performance while compiling. I prefer just skipping shader compilation, since most games will perform fine doing it while playing.
It's faster than when I first came to Linux, sure. And I see that my 6yo mid setup doesn't work okay in big games if I skip this, and is slower than most recent builds of the same price range.
I'm not sure what the question is, but if you're asking about pre-compiled shader downloads, those are just files being installed. If you're asking why your machine is compiling shaders locally before a game launch, it's so your machine doesn't hitch and stutter when running the game. You pretty much always want this enabled.
I don't know what your comment about Bitcoin is about, but if you're imagining your machine doing work to benefit Valve, you're mistaken about how shader caching works, and the distribution of such.
The Bitcoin thing was a joke about how it uses so much CPU/GPU, it almost feels as if he's mining crypto for Daddy Gaben.
His actual complaint is that the shaders seem to get recompiled on every game launch, which takes forever, instead of just re-using the ones it compiled previously.
Steam has a very simple but extensive distribution system in that if the client (your machine) has X combination of hardware, it will frequently check for updates to any files the publisher has pushed upstream. The Steam platform has a compilation mechanism to pre-build graphics and shader caches for end-user clients to prevent them from having to do all that work, so when a publisher tweaks something related to graphics, Steam's backend will build distributed versiona of these compiled shareders and textures and make them available to clients to save your local machine from having to do that work itself on update and launch.
You can disable the behavior in the downloads settings from what I remember. I'm sure you can Google get more specific about how you want that handled, but it can be disabled, your local machine will just have to spend more effort to build them itself to satisfy the requirement the game. You're spending more money on your energy bill this way vs just letting the steam client download the pre-built versions.
Your comment was out of place and didn't make sense. That's why I brought it up. Couldn't tell if you thought your local machine was actually coin mining or whatever. Just an out of place comment where you should have asked the straightforward question of "What are shaders and why...?".
The idea is to make sure your graphics card shader cache is full with everything the game may use at some point, enabling smoother play and less hitching.
I think on NVIDIA, the cache ain't that big by default so it may be recompiling everything from scratch, whereas it's less noticeable on AMD systems because it's already compiled it so only compiles what's changed/new.
This is not a Linux specific issue though it's worse on Linux because vulkan shader processing happens for almost every game. I remember people on windows complaining that The Last of Us was compiling shaders for several hours when first launched and that if shader compilation was skipped the game was laggy as hell(which is not a surprise considering how poor the game ran even after shader compilation)
I agree that's very annoying sometimes but at the same time very beneficial for in-game performance as it greatly reduces the amount of computations the game has to do at runtime. If you have a powerful enough PC or the game isn't very demanding you can just disable shader pre-caching in steam settings and it shouldn't matter much but it's a real life saver for more demanding titles and imo worth all that wait.
The catch is those non-demanding games are fast to reshader. It's only when you face a heavyweight release this starts to matter, and wastes time accordingly :)