Steam Enables Shader-Pre-Caching

Published by

Click here to post a comment for Steam Enables Shader-Pre-Caching on our message forum
https://forums.guru3d.com/data/avatars/m/239/239175.jpg
How many caches are there now? The driver caches shaders, and many games cache shaders too. Now Steam joins in and caches them a third time. How many caches do we need? :P
https://forums.guru3d.com/data/avatars/m/191/191769.jpg
RealNC:

How many caches are there now? The driver caches shaders, and many games cache shaders too. Now Steam joins in and caches them a third time. How many caches do we need? πŸ˜›
It's Christmas, I need as much cash as i can get. πŸ˜‰ Opps My dyslexia gets the better of me most days πŸ˜•
https://forums.guru3d.com/data/avatars/m/209/209146.jpg
Hilbert Hagedoorn:

I did not realize this feature would need to make the news, as it was introduced back in November already? But to improve on load times Steam enabled Shader-Pre-Caching, as it is now widely reported... Steam Enables Shader-Pre-Caching
November 15th for the Steam client beta builds, however it appears this only made it into the stable version yesterday. πŸ™‚ http://store.steampowered.com/news/?feed=steam_client As for the beta I think the current build from yesterday is the new break point from the stable build so just a fix for VR mode currently. https://steamcommunity.com/groups/SteamClientBeta#announcements EDIT: No it's actually in the stable build too so they're about identical for now. πŸ™‚ EDIT: November 7th, interesting how the notes in the new public build doesn't make any mention on it only being Nvidia though which I think is still in effect. https://steamcommunity.com/groups/SteamClientBeta#announcements?p=3 (And depending on the driver installed, thus why those GLRuntimeQuery exe files run whenever Steam is started or so I'm guessing though it could also have a purpose for troubleshooting the Chromium web component and possible hardware acceleration for that.)
https://forums.guru3d.com/data/avatars/m/238/238599.jpg
Previously, 37 MB, but now 44 MB pre-cached. Where's the location file?
https://forums.guru3d.com/data/avatars/m/267/267787.jpg
I must say this is a nice useful setting if you loading big textures. Also going from my normal ssd to the Samsung Evo 960 was a big increase in loading times.
data/avatar/default/avatar02.webp
It is not needed at all. It will make some games look different or crash, only because steam will think that it's same configuration. Some games and the driver precaches them on the first run. No need download anything...also it can only speed up the first run, because without steam precaching it would be precached on the first run...use it with caution...better don't use it.
https://forums.guru3d.com/data/avatars/m/225/225084.jpg
I don't have that option in my Steam settings.
https://forums.guru3d.com/data/avatars/m/266/266438.jpg
Reddoguk:

I don't have that option in my Steam settings.
Are you using a skin? I use Metro skin and it is not there. The skin needs to be updated. The setting is enabled by default so you don't need to do anything.
https://forums.guru3d.com/data/avatars/m/246/246171.jpg
Hilbert: This feature is supported under Linux too, which only supports OpenGL and Vulkan. I'm not 100% sure if there are shader caches for Vulkan, but I do know for a fact they are available for OpenGL. So yes, OpenGL games should benefit from this on Windows, too.
RealNC:

How many caches are there now? The driver caches shaders, and many games cache shaders too. Now Steam joins in and caches them a third time. How many caches do we need? πŸ˜›
To my understanding, these are pre-rendered game caches. Steam just downloads them so you don't have to process them yourself. In other words, Steam isn't a 3rd layer of caching, it's just substituting the 2nd layer for you. As NAMEk pointed out, you might be better off just skipping out on this. Unless you're gaming on a laptop, the time it takes to compile shader caches isn't really that bad on good systems, especially since you only have to do it once.
https://forums.guru3d.com/data/avatars/m/209/209146.jpg
MaCk0y:

Are you using a skin? I use Metro skin and it is not there. The skin needs to be updated. The setting is enabled by default so you don't need to do anything.
Metro user here and I see the cache option, since the skin is updated so seldom I do use the unofficial patch however. https://steamcommunity.com/groups/metroforsteam/discussions/0/527273789693410879/ Only downside is that the author often silently updates it every couple of days but bug fixes are always welcome until the next main version of the skin is released. πŸ˜€
https://forums.guru3d.com/data/avatars/m/266/266438.jpg
JonasBeckman:

Metro user here and I see the cache option, since the skin is updated so seldom I do use the unofficial patch however. https://steamcommunity.com/groups/metroforsteam/discussions/0/527273789693410879/ Only downside is that the author often silently updates it every couple of days but bug fixes are always welcome until the next main version of the skin is released. πŸ˜€
Thanks. Didn't know about this.
data/avatar/default/avatar06.webp
I never understood all that caching even after the game was supposed to have launched. Both No Mans Sky and Mass Effect Andromeda do massive precaching of shaders at the start even after the point they are supposed to have loaded. I can almost understand this with ME Andromeda as the game is technically complex. It doesn't make any sense with No mans sky since the game graphics are so primitive as to be cell phone quality. NMS also fails miserably with multiple monitors and higher resolutions running incredibly bad. I know it is the game since I have fast hardware and games like Witcher 3 and Adromeda at high resolutions and max settings run just fine. Conan Exiles is another badly written game.
data/avatar/default/avatar24.webp
so, now we have the steam overlay pre-cached? hurray.. Or did they added the ability to pre-cache in background when the game is not running? This may be a big deal if you have few installed games, a terrible idea if you have tons since at every driver update the shader cache sign changes...
data/avatar/default/avatar33.webp
I disabled shader caching in Steam. As of now this feature created a buch on empty subfolders in shadercache folder for many games not supporting OpenGL or Vulcan at all. I don't really understand why this is needed. Nvidia drivers already cache shaders, some games provide their own shader cache as well. This seems to be redundant and at any time you update drivers shaders need to be recompiled. Some older games need to recompile shaders even when you change graphic settings. Also this raises a security concern. Since shaders are small C programs that run on GPU it creates a potential attack vector, since malicious code can be downloaded and exploit security wholes in graphic drivers. Who will compile those shaders? Valve? Game developers? Maybe they will use a sort of P2P computing where one user compiles shaders and uploads it to Steam's cloud storage (this happens automatically) and then all other users matching this configuration will download it. Unless it is complied by Valve or game developers and digitally signed it is a security whole. UPDATE: I think I found my answer. You dear gamers will compile it πŸ˜€ https://s2.postimg.org/dxzwl2hyx/steam_shader_cache.png
data/avatar/default/avatar33.webp
fOrTy_7:

I disabled shader caching in Steam. As of now this feature created a buch on empty subfolders in shadercache folder for many games not supporting OpenGL or Vulcan at all. I don't really understand why this is needed. Nvidia drivers already cache shaders, some games provide their own shader cache as well. This seems to be redundant and at any time you update drivers shaders need to be recompiled. Some older games need to recompile shaders even when you change graphic settings. Also this raises a security concern. Since shaders are small C programs that run on GPU it creates a potential attack vector, since malicious code can be downloaded and exploit security wholes in graphic drivers. Who will compile those shaders? Valve? Game developers? Maybe they will use a sort of P2P computing where one user compiles shaders and uploads it to Steam's cloud storage (this happens automatically) and then all other users matching this configuration will download it. Unless it is complied by Valve or game developers and digitally signed it is a security whole. UPDATE: I think I found my answer. You dear gamers will compile it πŸ˜€ https://s2.postimg.org/dxzwl2hyx/steam_shader_cache.png
The driver compiles the shader when proper API functions are called. If you got a driver and it's device and if you know well how the application behave, you can share it among all the systems having that application with that device and that driver. Of course every new driver installation will need it's proper driver caching.
https://forums.guru3d.com/data/avatars/m/255/255510.jpg
I thought that this steam venture may fix one of 2017 worst optimised games being DIRT4. But NO. But the guys at playerunknown battle grounds have been working real hard on optimising that game and compared to when it was release it now plays and look terrific. Steam may be, I don't think so.
https://forums.guru3d.com/data/avatars/m/118/118821.jpg
fOrTy_7:

Also this raises a security concern. Since shaders are small C programs that run on GPU it creates a potential attack vector, since malicious code can be downloaded and exploit security wholes in graphic drivers. Who will compile those shaders?
thats exactly why i didnt like the sound of this setting when i read about it initially. its literally user-aggregated cloud storage/retrieval of injectables. NOPE.AVI
data/avatar/default/avatar06.webp
Shaders do not have direct memory access to OS resources (RAM, HDD, devices, whatever), doesn't matter if the syntax of the language used to write them could or not be similar to a C-like programming language. You cannot point anything to memory (VRAM included) without an explicit binding which is made by the CPU side (application, runtime and driver). Shaders are safe and the driver discard any shader cache with a non coherent versioning.
https://forums.guru3d.com/data/avatars/m/118/118821.jpg
like authentication cant be spoofed? meanwhile idk wat your definition of safe is, but if its an inability to execute harmful or malicious instruction sets...then no, a shader cache is not safe. is this a concern for the average user? is steam cloud likely to be compromised? hell no. that doesnt change my viewpoint, however
https://forums.guru3d.com/data/avatars/m/132/132389.jpg
Open GL and Vulkan... that applies to all of none of my Steam library.