There is a common problem where a game would install, load or compile shaders every time you start the game. This post aims at letting you know what shaders are used for, why shaders need to be compiled when you start the game, and how to stop the game from compiling shaders every time you launch it.
The process itself is normal as the game needs to load and compile the shaders so that they can run on your GPU. The problem with it is that the shader compilation or installation process may take quite a while to complete (5-30 minutes, depending on the PC’s performance). Therefore, it can be annoying and time-consuming if the shader compiling process has to be run every time the game launches.
Also see: How to Fix Game Stuttering on Windows 11
This issue is especially common in games such as Apex Legends (processing and compiling shaders every time the game launches) and COD Warzone (install shaders every time when you open the game).
What are shaders used for?
Shaders refer to computer programs that help determine different aspects of rendered graphics. In games, shaders are used to define the game’s rendering of certain elements such as lighting, textures, shadows, etc.
For example, shaders can transform a surface to look wet, make water more reflective, make the sun more vibrant, and more. Shaders are the final piece of the puzzle for making 2D and 3D games look realistic or artistic.
Why do games load and compile shaders?
Compilation is a process refers to taking the codes written by human and translating them to machine code that a specific processor can understand. Compiling shaders means to compile the shader codes so that they can be run on a specific GPU brand and model. In other words, you will need to compile the shaders again if you change your GPU.
3 main reasons why shaders need to be compiled again
When the game receives an update that invalidates the compiled shaders, the game will need to load and compile the shaders again the next time you open it.
If you have recently updated your graphics driver, all games that need shader compilation will need to re-compile their shaders.
If you change the GPU (graphics card) to a different brand or model, the game will also need to compile the shaders again.
Related issue: Game Stuttering and Lag on Dual Monitor
How to stop game from compiling shaders every time you launch it
Let the shader compilation process finish
The first and foremost advice is to let the shader compilation process finish. Once the shader compilation is successfully completed, if there is no changes to your GPU, graphics driver or the game itself, the game will automatically use the compiled shaders instead of re-compiling them again.
Update your graphics driver
The most common cause of the issue is that the graphics driver is outdated, incorrect or faulty. The very first thing you should try is to manually update the graphics driver for your GPU.
For NVIDIA users, check the update using the NVIDIA GeForce Experience. If you do not have GeForce Experience installed, visit the manufacturer website (nvidia.com) to manually search for and download the latest graphics driver for your GPU model. For AMD users, go to amd.com.
Update your games
If the issue lies with the game itself, it may already have a patch that fixes the issue. Try to update the game and see if it will still repeatedly compile shaders every time you start the game.
Enable shader cache in NVIDIA Control Panel
Check that the shader cache option is enabled in NVIDIA Control Panel if you are using an NVIDIA GPU. You can access the option by first searching for and opening “NVIDIA Control Panel” via Start.
Next, select Manage 3D settings from the left pane. On the right, under Global Settings, look for an option called “Shader Cache Size” and make sure it is set as “Driver Default“. If it is set as “Disabled”, the shader cache will be disabled as no disk space can be used for storing shader compiles.
To save any changes, click Apply at the bottom of the window after making the changes. You may need to restart your computer for changes to take effect.
Steam Shader Pre-Caching
Steam has a feature called Shader Pre-Caching that allows Steam to download pre-compiled GPU shaders matching your GPU and other system configuration. This allows some Vulkan and OpenGL games to load much faster and sometimes improves the frame rate stability in game since the shaders are already preloaded.
If you keep seeing the “Processing Vulkan Shaders…” message when you start a Steam game, commonly after you restart your PC or the game, you may want to disable the Shader Pre-Caching feature. You can enable or disable the Shader Pre-Caching feature via Steam > Settings > Shader Pre-Caching.
Note that it is normal for Steam to run shader caching again whenever the game receives an update, or if you update your graphic driver or change the GPU.
If these fixes doesn’t resolve your issue, you will have to look for solution specific to the game itself. Some games may have shaders or shader cache issue that needs its own fix. If you run out of options, contact the game’s support to ask for help.