Blog · blog
How to Run Shaders Without Losing FPS
Shaders always cost frames, but Iris plus Sodium and a few settings claw most of them back. Here is what to trim first once shaders are already installed.
Why shaders cost so much FPS in the first place
A shader pack replaces Minecraft's lighting model with one that calculates shadows, reflections, and light bounces per pixel, every frame. Vanilla lighting is close to free by comparison. None of that cost is a bug. It is the actual work that produces the look, which means the fix is never "make shaders free," it is "spend the frame budget on the parts of the look that are worth it and cut the parts that are not."
This assumes you already have shaders running through Iris on top of Sodium, the standard Fabric setup. If you have not installed that pair yet, the full shader install guide covers it step by step. Everything below is what to do once shaders are already on and the frame rate is lower than you want.
The settings that actually move the needle
Not every shader option costs the same. A handful of them account for most of the frame-rate hit, and trimming just those recovers the bulk of your FPS while leaving the look mostly intact.
Shadow distance and resolution
The single biggest cost in almost every pack. Shadows scale with both how far they render and how sharp they are calculated. Drop these first.
Volumetric lighting and fog
Light shafts and volumetric fog look great in screenshots and are expensive per frame. Lowering or disabling them is often invisible in normal play.
Reflections
Screen-space and water reflections add a real frame tax, especially near large water bodies. Cut reflection quality before you touch anything else water-related.
Render distance
Every extra chunk is more geometry the shader has to light. Shaders multiply the cost of render distance, so pulling it back helps more here than anywhere else in the game.
Match the pack tier to your GPU before you tune
Settings tuning has a ceiling. A heavy, cinematic pack on a modest GPU will never hit the frame rate a light pack reaches on the same hardware, no matter how much you trim. Pick a tier that fits your card first, then use the settings above to close the remaining gap.
| If your GPU is... | Start with | Then trim |
|---|---|---|
| Integrated or older | A light pack on its lowest profile | Shadows and volumetrics first |
| Mid-range | A light-to-medium pack | Shadow distance, reflections |
| Strong dedicated card | Medium to heavy | Render distance if you push further |
Confirm Iris and Sodium are both active
Open Video Settings and check that a shader pack is selected and Sodium's renderer is running. This pairing is the foundation everything else assumes.
Watch the F3 frame-time graph, not the FPS number
The number in the corner hides spikes. The frame-time graph at the bottom of the F3 screen shows exactly where the cost is landing, which tells you whether the problem is shadows, render distance, or something else entirely.
Trim shadows first
Lower shadow distance and shadow resolution one step at a time. This single change recovers more FPS than any other setting in most packs.
Cut volumetrics and reflections
Reduce or disable volumetric lighting, volumetric fog, and reflections. These are the next biggest costs and the least likely to be missed in normal play.
Pull render distance back a couple of chunks
Shaders multiply what render distance already costs. A small cut here goes further with shaders on than it ever did with them off.
Building headroom so you have less to trim
The settings above recover frames from the shader itself, but the healthier fix is having more frame budget to spend before shaders even enter the picture. Sodium is already doing that job for rendering. Pairing it with Lithium for game logic gives you a higher floor overall, so the shader eats into a bigger budget instead of a tight one. The best performance mods for Minecraft covers that base stack in full.
If you play through a maintained client like Terminus, Iris and Sodium are already part of the profile, so a shader pack drops straight into the existing shaderpacks folder with the performance foundation already in place.
When trimming settings is not enough
If you have cut shadows, volumetrics, reflections, and render distance and the frame rate is still rough, the pack itself is likely heavier than your GPU can carry at any settings. That is not a configuration problem to keep chasing. Stepping down a tier, covered in the Minecraft shaders tier list, gets you a better result faster than another hour in the settings menu.
FAQ
Shaders add real per-pixel lighting and shadow work on top of everything the renderer already does, so some cost is unavoidable. The goal is not zero cost, it is trimming the expensive settings that add the least visible payoff.
Shadow distance and shadow resolution. They scale directly with how much the shader has to calculate every frame, and dropping them a notch or two usually recovers more FPS than any other single change.
No. Light packs on a low profile run on modest hardware, including some integrated graphics. Heavy, cinematic packs are the ones that genuinely need a strong dedicated GPU.
Yes. It remains the fastest way to run shader packs on Fabric, and it is the base every setting in this guide assumes you already have running.
Get Terminus
Iris and Sodium baked into the profile, headroom included.