Thursday, December 14th 2017

Latest Steam Client Beta Introduces Shader Pre-Caching for Games

The latest update for the Steam software brought with it an important new addition for the quality of life of gamers under the Linux or Windows suns everywhere: persistent shader caches for games. In the latest change-log, users are treated to the following message: "New feature: Shader Pre-Caching. Whenever possible, depending on hardware and driver support, Steam can download pre-compiled shaders for your specific video card. This reduces load times and in-game stuttering during the first few launches of OpenGL- and Vulkan-based games on supported hardware. This feature may use a small amount of additional bandwidth as Steam uploads and analyzes a shader usage report after each run of the game. The feature can be disabled via a new entry in the Settings dialog.

Under Steam Settings, you'll find a new Shader Pre-Caching item. The description reads as follows: "Shader Pre-Caching allows Steam to download pre-compiled GPU shaders matching your system configuration. This allows Vulkan and OpenGL games to load faster and improve framerate stability during gameplay. If enabled, Steam will collect shaders from your system when needed. Enabling this feature may slightly increase disk and bandwidth usage."
There's also a handy counter for you to know exactly how many MB are being used by the Shader Pre-Caching feature. If you have a capped bandwidth internet service, however, you'd do well to pay particular attention to this feature, lest it eats through your available data cap. However, users should be met with decreased loading times, and a more stable framerate as instances where shaders must be loaded in new areas will be reduced. All in all, it's always better to actually have the option to enable this feature than not having it altogether.

Shader Pre-Caching is nothing new, and is even part of Microsoft's DX12 specification. However, it would seem that this Windows feature was missing enough code for OpenGL and Vulkan games that Steam decided to take the matter into their own hands through this baking-in in the Steam client. At the same time, with DX12 games dwindling in number and becoming few and far between with sometimes questionable games over their previous incarnations, the Steam Shader Pre-Caching stands to pick up the shader cache slack in older API's.
Sources: Steam Release Notes, Gaming on Linux, DX 12 Core Specs
Add your own comment

19 Comments on Latest Steam Client Beta Introduces Shader Pre-Caching for Games

#1
RejZoR
Don't NVIDIA and AMD both do shader caching already?
Posted on Reply
#2
ZeppMan217
RejZoR said:
Don't NVIDIA and AMD both do shader caching already?
Raven is just late to the party - shader pre-load has been in the Steam beta since at least november. This is Steam allowing you to download pre-compiled shaders so that the first game start is fast and smooth.
Posted on Reply
#3
Mussels
Moderprator
how is this superior/different to whats in the AMD and NV drivers?
Posted on Reply
#4
RejZoR
ZeppMan217 said:
Raven is just late to the party - shader pre-load has been in the Steam beta since at least november. This is Steam allowing you to download pre-compiled shaders so that the first game start is fast and smooth.
But it's literally only on the first start. It's why it's called shader cache. It generates shaders on first run and saves them for later. Is that single first run really that problematic?
Posted on Reply
#5
Vya Domus
RejZoR said:
But it's literally only on the first start. It's why it's called shader cache. It generates shaders on first run and saves them for later. Is that single first run really that problematic?
Shaders are not part of the code that you write for your graphics generating program. Shaders are written and stored into external files and are read and loaded into the program's memory at a specific point. This read from disk and write to memory operation is typically pretty time consuming but you can't avoid this. They also have to be compiled the first time (traditionally), this where the time saving takes place.
Posted on Reply
#6
Readlight
I can not find offline installers for Steam, Firefox, Spotify! It doesn't find my limited 4G internet and updates AddOns . And some games don't open whit no internet!
Posted on Reply
#7
ViperXTR
just when im trying to find some breath of the wild new shader caches '__'
Posted on Reply
#8
P4-630
The Way It's Meant to be Played
"Latest Steam Client Beta"



My Steam just updated and I see this new "Shader Pre-Caching" option, I didn't sign up for Steam Beta though....
Posted on Reply
#9
INSTG8R
My Custom Title
P4-630 said:
"Latest Steam Client Beta"



My Steam just updated and I see this new "Shader Pre-Caching" option, I didn't sign up for Steam Beta though....
Apparently it’s now in the stable build.
Posted on Reply
#10
Mussels
Moderprator
just quit pubg and got the update that offers the shader cache, so its definitely in the stable build for everyone now
Posted on Reply
#11
ViperXTR
Just opened steam and it seems to be in stable build indeed
Posted on Reply
#12
Mussels
Moderprator
only for openGL and vulkan, it seems
Posted on Reply
#13
efikkan
This is not going to affect performance during gaming, any game which compiles shaders during rendering would be fatally flawed and suffer terrible performance.

As several have already mentioned, both AMD and Nvidia employ a shader cache, so this feature would only be relevant for drivers like Mesa and Intel(?). What a waste…
Posted on Reply
#14
Steevo
efikkan said:
This is not going to affect performance during gaming, any game which compiles shaders during rendering would be fatally flawed and suffer terrible performance.

As several have already mentioned, both AMD and Nvidia employ a shader cache, so this feature would only be relevant for drivers like Mesa and Intel(?). What a waste…
Both NV and AMD generally only STORE the cache once built to improve future performance, this downloads the cache so its already built and first time performance is as good as can be. Its like when Physx precooks a lot of the rendering and other stuff, but without the performance hit for non-NV users.
Posted on Reply
#15
efikkan
Steevo said:
Both NV and AMD generally only STORE the cache once built to improve future performance, this downloads the cache so its already built and first time performance is as good as can be. Its like when Physx precooks a lot of the rendering and other stuff, but without the performance hit for non-NV users.
The shader cache doesn't impact performance, just loading times.
Posted on Reply
#16
Nordic
This looks more like a change geared towards steam on linux.
Posted on Reply
#17
Mussels
Moderprator
Nordic said:
This looks more like a change geared towards steam on linux.
completely agreed on that, they made it for linux/steamOS (maybe VR related?) and just ported it to windows as an afterthrought
Posted on Reply
#18
Nordic
Mussels said:
completely agreed on that, they made it for linux/steamOS (maybe VR related?) and just ported it to windows as an afterthrought
If you already have the profiles setup for linux, why not use them in windows. Steam is already setup for it. Maybe it will help some edge case player who had bad performance and didn't know why.
Posted on Reply
#19
Jism
Mussels said:
how is this superior/different to whats in the AMD and NV drivers?
It's precompiled based on your hardware settings.

So there's no need for AMD / NV drivers to 'solve' this.
Posted on Reply
Add your own comment