Steam Deck

Steam Deck

Shader Pre-Cache: Does it even do anything?
We have a lot of people making claims about how it removes the in-game frametime spikes caused by shader compilation, giving you a console-like frametime stability. I assume this would help in open world games that don't have loading screens.
But Nobody explains if this applies to all games or just to the handful that use Vulkan. In desktop mode where you can turn off shader pre-cache, the setting says it's for Vulkan games. For the 99.999% of games in the word that don't use Vulkan, does this have any effect? Has anyone compared the frametimes in open-world games between steamOS and windows?
Originally posted by WarnerCK:
Originally posted by Moe Lester:
So it doesn't produce a performance improvement over windows?
It does sometimes by accident, but that's not its purpose. And that's "running on Linux using Vulkan" as a whole rather than pre-cached shaders specifically.
< >
Showing 1-14 of 14 comments
WarnerCK Jan 19 @ 7:21am 
All games on the Deck are using Vulkan, except for a handful of old games that are using OpenGL.

Shader pre-caching used to be a massive deal, especially on AMD. Shader compiling on the fly wasn't something that LLVM could do quickly. Then ACO was developed, which was much better at that, and then ACO got included in mainline Mesa. Then the development of GPL improved things further, so either compiling on the fly or compiling ahead of time produced good results.

The big difference these days between shader pre-caching and not is that the former will also provide transcoded versions of cutscene videos that would otherwise be unavailable in games running through Proton.
Originally posted by WarnerCK:
The big difference these days between shader pre-caching and not is that the former will also provide transcoded versions of cutscene videos that would otherwise be unavailable in games running through Proton.
So it doesn't produce a performance improvement over windows?
deaddoof Jan 19 @ 7:44am 
Originally posted by Moe Lester:
Originally posted by WarnerCK:
The big difference these days between shader pre-caching and not is that the former will also provide transcoded versions of cutscene videos that would otherwise be unavailable in games running through Proton.
So it doesn't produce a performance improvement over windows?

Steam Deck cpu is pretty weak. Doing side by side comparison isn't that fair to Windows because Valve assume shader cache will exist.

Saving cpu resource may end up faster than windows.
The author of this thread has indicated that this post answers the original topic.
WarnerCK Jan 19 @ 7:44am 
Originally posted by Moe Lester:
So it doesn't produce a performance improvement over windows?
It does sometimes by accident, but that's not its purpose. And that's "running on Linux using Vulkan" as a whole rather than pre-cached shaders specifically.
Last edited by WarnerCK; Jan 19 @ 7:46am
Originally posted by WarnerCK:
Originally posted by Moe Lester:
So it doesn't produce a performance improvement over windows?
It does sometimes by accident, but that's not its purpose. And that's "running on Linux using Vulkan" as a whole rather than pre-cached shaders specifically.
Christ. I really didn't understand anything. So many of these youtubers and online posts fawning over how shader pre-caching made SteamOS superior to Windows. People too emotionally attached to a corporation will just make ♥♥♥♥ up for some reason.
I also made so many assumptions, that the hitches I see in open-world games were due to shaders compiling, and that's actually why I bought the Steam Deck Oled. Turns out the stuttering on the Oled is is worse than WIndows. I tried two games so far, Fallout 3 and Need For Speed Most Wanted (2012). Both have frametime spikes in the range of 100ms; in Fallout 3 it happens every 10 seconds, in Need For Speed every couple of minutes. On my $500 Windows business laptop these games run without a hitch.
WarnerCK Jan 19 @ 8:47am 
Originally posted by Moe Lester:
I also made so many assumptions, that the hitches I see in open-world games were due to shaders compiling,
That's just standard asset loading. Lots of bandwidth and lots of RAM/VRAM can smooth out the bumps, but ultimately all the geometry and textures need to get out of storage and be processed before they can be drawn on screen, and machines generally can't hold the whole open world at once.
Originally posted by WarnerCK:
Originally posted by Moe Lester:
I also made so many assumptions, that the hitches I see in open-world games were due to shaders compiling,
That's just standard asset loading. Lots of bandwidth and lots of RAM/VRAM can smooth out the bumps, but ultimately all the geometry and textures need to get out of storage and be processed before they can be drawn on screen, and machines generally can't hold the whole open world at once.
Why would more RAM/VRAM smooth them out? In the past I've tried upgrading from HDD to SSD and then to NVME and it never made a difference. Same with the CPU. But it never crossed my mind the amount of RAM or VRAM could have any effect. I assumed these stutters were a feature from lazy game programmers who only care about their paycheck.
Last edited by Moe Lester; Jan 19 @ 9:12am
WarnerCK Jan 19 @ 9:41am 
Originally posted by Moe Lester:
Why would more RAM/VRAM smooth them out?
Imagine you had, say, 1 GB. You can use whichever assets fit in there to draw the scene, but if you need different assets then you need to flush the old ones so that you have room for the new ones; should you need to use the old ones again you'd need to flush the new ones and reload the old ones. Processing is stalled until the needed assets are actually there. If, instead, you had more space you could hold the old assets and the new assets at the same time, and you'd avoid all that flushing and loading and related stalls. You might even have enough spare space that you can load assets preemptively just in case they're going to be needed soon.
Last edited by WarnerCK; Jan 19 @ 9:44am
Moe Lester Jan 19 @ 10:04am 
Originally posted by WarnerCK:
Originally posted by Moe Lester:
Why would more RAM/VRAM smooth them out?
Imagine you had, say, 1 GB. You can use whichever assets fit in there to draw the scene, but if you need different assets then you need to flush the old ones so that you have room for the new ones; should you need to use the old ones again you'd need to flush the new ones and reload the old ones. Processing is stalled until the needed assets are actually there. If, instead, you had more space you could hold the old assets and the new assets at the same time, and you'd avoid all that flushing and loading and related stalls. You might even have enough spare space that you can load assets preemptively just in case they're going to be needed soon.
Yes but if the RAM you have already meets the minimum requirements set by the developer I don't think more RAM would make a difference.
WarnerCK Jan 19 @ 10:09am 
Originally posted by Moe Lester:
Yes but if the RAM you have already meets the minimum requirements set by the developer I don't think more RAM would make a difference.
Minimum hardware isn't optimal hardware.
Moe Lester Jan 19 @ 11:05am 
Originally posted by WarnerCK:
Can you add an emphatic "Shader Pre-Cache does NOT improve performance over windows" to the selected answer so people can quickly understand?
Last edited by Moe Lester; Jan 19 @ 11:05am
Originally posted by WarnerCK:
The big difference these days between shader pre-caching and not is that the former will also provide transcoded versions of cutscene videos that would otherwise be unavailable in games running through Proton.

Now this i didnt know.
Originally posted by Moe Lester:
Originally posted by WarnerCK:
It does sometimes by accident, but that's not its purpose. And that's "running on Linux using Vulkan" as a whole rather than pre-cached shaders specifically.
Christ. I really didn't understand anything. So many of these youtubers and online posts fawning over how shader pre-caching made SteamOS superior to Windows. People too emotionally attached to a corporation will just make ♥♥♥♥ up for some reason.
I also made so many assumptions, that the hitches I see in open-world games were due to shaders compiling, and that's actually why I bought the Steam Deck Oled. Turns out the stuttering on the Oled is is worse than WIndows. I tried two games so far, Fallout 3 and Need For Speed Most Wanted (2012). Both have frametime spikes in the range of 100ms; in Fallout 3 it happens every 10 seconds, in Need For Speed every couple of minutes. On my $500 Windows business laptop these games run without a hitch.

your FO3 stutters? mine runs flawlessly, even FO4. did you try reinstalling? dunno if it matters but i'm on the lcd deck.
Originally posted by RedBaronK™:
Originally posted by Moe Lester:
Christ. I really didn't understand anything. So many of these youtubers and online posts fawning over how shader pre-caching made SteamOS superior to Windows. People too emotionally attached to a corporation will just make ♥♥♥♥ up for some reason.
I also made so many assumptions, that the hitches I see in open-world games were due to shaders compiling, and that's actually why I bought the Steam Deck Oled. Turns out the stuttering on the Oled is is worse than WIndows. I tried two games so far, Fallout 3 and Need For Speed Most Wanted (2012). Both have frametime spikes in the range of 100ms; in Fallout 3 it happens every 10 seconds, in Need For Speed every couple of minutes. On my $500 Windows business laptop these games run without a hitch.

your FO3 stutters? mine runs flawlessly, even FO4. did you try reinstalling? dunno if it matters but i'm on the lcd deck.
"mine runs flawlessly" no it does not. You just don't notice the stutters. Once you do you can't unnotice them. Just run the performance overlay at level 4 and you'll see the frame spikes. Many are due to the game itself and can be fixed completely on windows using the Fallout 3 stutter remover (with some changes to experimental values), however other frame spikes are due to proton itself and cannot be fixed. Only solution is to install Windows on the steam deck. It seems the Proton devs are more concerned with average fps which I guess is better in a few games than on Windows. This looks good in benchmarks. User experience is a secondary priority.
Last edited by Moe Lester; Jan 20 @ 2:24am
< >
Showing 1-14 of 14 comments
Per page: 1530 50

Date Posted: Jan 19 @ 7:03am
Posts: 14