Steam Deck

Steam Deck

GabrielJDV Feb 8, 2024 @ 4:10am
Question about Shader Pre-Caching
I have seen "issues" about Shader Pre-caching about it's sizes (for example, Warframe takes 2 GB of Shader Pre-caching), and people says that the performance and stutter may increase by turning this off, but, how so? I mean, is there a lot of difference between having it activated than not?

I personally love this option but, when you are out and, for example, you use Mobile Hotspot and you have limited internet to use and boom, enormous, cache update, what do I do? So I'm thinking into turn this off but idk how much will this affect to performance. Thanks and have a great day!
< >
Showing 1-14 of 14 comments
deaddoof Feb 8, 2024 @ 4:16am 
Shader is code that runs on the GPU. Since Nvidia et al decided to never work together, all gpu drivers are essentially compilers. Game studio ship uncompiled code to PC all the time. In other to deal with mismatch, all gpu drivers compiles shaders into gpu code. All this work uses CPU power. In order to reduce CPU overhead, shader are cache aka known as code reuse.

Warframe probably needs all the CPU performance it can get. Turning shader caching off will force the driver to compile code as you play. Remember, shaders needs to be in GPU code form before your GPU can run it and see it. This bottleneck is known as shader hitching and can bottleneck the GPU and increase power usage.
deaddoof Feb 8, 2024 @ 4:20am 
Valve provides a free service to allow you never experience shader hitching. They compile the shader for you and you just need to download and store it before you start running it. The reason why shaders are huge represent how much total GPU game code the game has.

More game content translate into more larger shader downloads.
GabrielJDV Feb 8, 2024 @ 4:21am 
Originally posted by deaddoof:
Shader is code that runs on the GPU. Since Nvidia et al decided to never work together, all gpu drivers are essentially compilers. Game studio ship uncompiled code to PC all the time. In other to deal with mismatch, all gpu drivers compiles shaders into gpu code. All this work uses CPU power. In order to reduce CPU overhead, shader are cache aka known as code reuse.

Warframe probably needs all the CPU performance it can get. Turning shader caching off will force the driver to compile code as you play. Remember, shaders needs to be in GPU code form before your GPU can run it and see it. This bottleneck is known as shader hitching and can bottleneck the GPU and increase power usage.

You are the goat, great explanation! That was actually the answer that i was searching for, thanks!
GabrielJDV Feb 8, 2024 @ 4:23am 
Originally posted by deaddoof:
Valve provides a free service to allow you never experience shader hitching. They compile the shader for you and you just need to download and store it before you start running it. The reason why shaders are huge represent how much total GPU game code the game has.

More game content translate into more larger shader downloads.

And there is a way to have it downloaded without updating it every day?
deaddoof Feb 8, 2024 @ 4:28am 
Originally posted by GabrielJDV:
Originally posted by deaddoof:
Valve provides a free service to allow you never experience shader hitching. They compile the shader for you and you just need to download and store it before you start running it. The reason why shaders are huge represent how much total GPU game code the game has.

More game content translate into more larger shader downloads.

And there is a way to have it downloaded without updating it every day?

First, my explanation is lazy. Good enough to understand the issue.

Second, you describe a bug unless the game is updating everyday. Shader is tied to the relationship to game version and driver version.

Valve doesn't update the OS driver everyday. In fact, they release OS stuff every few weeks. Unless the game changes all the time, your steam client might be bugged out.

What is your OS version and steam client update channel?
GabrielJDV Feb 8, 2024 @ 4:33am 
Originally posted by deaddoof:
Originally posted by GabrielJDV:

And there is a way to have it downloaded without updating it every day?

First, my explanation is lazy. Good enough to understand the issue.

Second, you describe a bug unless the game is updating everyday. Shader is tied to the relationship to game version and driver version.

Valve doesn't update the OS driver everyday. In fact, they release OS stuff every few weeks. Unless the game changes all the time, your steam client might be bugged out.

What is your OS version and steam client update channel?

The OS version is 3.5.7 and the version of Steam is 1705108172 (I'm on Stable Channel)
deaddoof Feb 8, 2024 @ 4:35am 
Originally posted by GabrielJDV:
Originally posted by deaddoof:
Valve provides a free service to allow you never experience shader hitching. They compile the shader for you and you just need to download and store it before you start running it. The reason why shaders are huge represent how much total GPU game code the game has.

More game content translate into more larger shader downloads.

And there is a way to have it downloaded without updating it every day?

Valve doesn't update the OS that often. Every preview update is an OS update.

https://github.com/ValveSoftware/steam-for-linux/issues/10285

https://github.com/ValveSoftware/steam-for-linux/issues/8076

Look through both issues and try to find a workaround. The Steam Client is acting like a koala . Take the leaves off the branch and something the koala would not recognize those eucalyptus leaves as food. Workarounds like teaching the koala how to eat food.
GabrielJDV Feb 8, 2024 @ 4:41am 
Originally posted by deaddoof:
Originally posted by GabrielJDV:

And there is a way to have it downloaded without updating it every day?

Valve doesn't update the OS that often. Every preview update is an OS update.

https://github.com/ValveSoftware/steam-for-linux/issues/10285

https://github.com/ValveSoftware/steam-for-linux/issues/8076

Look through both issues and try to find a workaround. The Steam Client is acting like a koala . Take the leaves off the branch and something the koala would not recognize those eucalyptus leaves as food. Workarounds like teaching the koala how to eat food.

I'll check it out and see what can I do, I'll answer when I find something useful, thanks for the replies!
GabrielJDV Feb 8, 2024 @ 4:48am 
Forgot to mention, the pre caching update takes places every time it reboot , I have seen people that says it doesn't update when you leave it on or don't restart
deaddoof Feb 8, 2024 @ 4:55am 
Originally posted by GabrielJDV:
I'll check it out and see what can I do, I'll answer when I find something useful, thanks for the replies!

I would try beta client and disable and re enabling shader cache.

If that doesn't work, enable GPL shader pipeline and disable shader pre caching.

https://www.phoronix.com/news/RADV-GPL-Mesa-23.1-Default

Downloading shaders everyday is worse than losing a game every months or two due to shader hitching.
Mahjik Feb 8, 2024 @ 4:56am 
It's broken right now. You can disable the shader updates via Desktop Mode or just wait it out until Valve fixes it.
GabrielJDV Feb 8, 2024 @ 5:47am 
Originally posted by deaddoof:
Originally posted by GabrielJDV:
I'll check it out and see what can I do, I'll answer when I find something useful, thanks for the replies!

I would try beta client and disable and re enabling shader cache.

If that doesn't work, enable GPL shader pipeline and disable shader pre caching.

https://www.phoronix.com/news/RADV-GPL-Mesa-23.1-Default

Downloading shaders everyday is worse than losing a game every months or two due to shader hitching.

The GPL Shader Pipeline doesn't come by default in Steam OS 3.5?

And, to enable this, i have to go to the execution terms of the game and add this
RADV_PERFTEST=gpl %command%
right?
Last edited by GabrielJDV; Feb 8, 2024 @ 5:48am
deaddoof Feb 8, 2024 @ 6:15am 
Originally posted by GabrielJDV:

The GPL Shader Pipeline doesn't come by default in Steam OS 3.5?

And, to enable this, i have to go to the execution terms of the game and add this
RADV_PERFTEST=gpl %command%
right?

Yep. Good research.

https://wiki.archlinux.org/title/environment_variables
GabrielJDV Feb 10, 2024 @ 1:33am 
Originally posted by deaddoof:
Originally posted by GabrielJDV:

The GPL Shader Pipeline doesn't come by default in Steam OS 3.5?

And, to enable this, i have to go to the execution terms of the game and add this
RADV_PERFTEST=gpl %command%
right?

Yep. Good research.

https://wiki.archlinux.org/title/environment_variables


btw, by enabling this, i can get rid of pre caching?
< >
Showing 1-14 of 14 comments
Per page: 1530 50

Date Posted: Feb 8, 2024 @ 4:10am
Posts: 14