The quickest FPS gains in Horizon come from four places: a lower render distance (use LOD distance for far views instead), the Performance preset, the right graphics API and fresh drivers. After that, shaders and a few culling options matter. Before you change anything, turn on the performance overlay so you can see what each change actually does.
Horizon already does a lot that Java players add mods for, so there’s no Sodium-style mod to install. If you’re curious why, read Rust vs Java; if you’re on an old laptop, also see Horizon on a low-end PC.
Step 0: measure first
Open Video Settings → Advanced Graphics and switch on the performance overlay (Overlay group). It shows the frame rate, frame times and a graph over the game. Watch the 1% lows as well as the average: hitches are what you feel.
If you’d rather have a small number in a corner, Horizon’s own FPS Counter mod shows frames per second with the slowest frame and the 1% low of the last five seconds.
Step 1: preset and render distance
Options → Video Settings → Horizon Graphics has the preset: Performance, Balanced, Quality, Ultra or Custom. Start at Performance and work up. Every row in Horizon’s settings has a one-line description and its cost in frame time (none, low, medium or high), which saves a lot of guessing. Changes apply at once, except worker threads, which apply at the next start.
Render distance stays where vanilla keeps it, on Video Settings. It’s the setting with the biggest effect. The project’s own numbers show why: in their before/after tests on an RTX 4080, render distance 32 still stuttered in places after a round of fixes, and the slow frames were game ticks while chunks load, not drawing. Steadier frames at long render distances is listed as current work.
Step 2: use LOD distance instead of a huge render distance
LOD Distance draws far terrain as simplified columns, so you see much further without loading full chunks. It’s off by default; turn it on and choose 64, 128, 256, 512 or 1024 chunks.
- Keep normal render distance modest next to it. The docs’ example: 12 chunks plus LOD 256.
- LOD doesn’t raise the simulation distance. Far terrain is drawn, not simulated.
- Detail fills in gradually, so a big radius doesn’t mean everything appears at once.
- Horizon caps far terrain on integrated graphics and holds it back on computers with four threads.
- Newer builds add a Far Detail option; Reduced draws about a quarter of the far quads.
Step 3: graphics API and drivers
Linux always uses Vulkan and macOS always uses Metal. On Windows there’s a choice under Advanced Graphics → Performance → Graphics API: Auto (Vulkan, falling back to DirectX 12 when Vulkan has no working driver), Vulkan or DirectX 12. The change applies at the next start. If Vulkan gives you crashes or odd stutter, try DirectX 12.
Update your GPU drivers before anything exotic. On Linux that means a current Mesa or vendor driver with Vulkan support.
Step 4: laptops and handhelds
Two settings are aimed at you:
- Battery mode (Performance group, off by default) caps the frame rate at 60 in a world and 30 in menus, and uses half the automatic worker threads. It changes when frames are drawn, not what they show, and chunks load a bit slower.
- Plug in when benchmarking. The official benchmark instructions ask for it, because laptops throttle on battery.
Step 5: shaders
Shader packs are the most expensive thing you can add. The Horizon shader docs say the shadow map is most of what a pack costs, because terrain in the light’s view is drawn again every frame. Most packs let you size it: lower the resolution and distance, or turn shadows off. Montarc’s own advice puts “Shadows: off” at the top as the biggest gain.
To see the cost, press F3 with a pack on: Horizon times each pass on the GPU and shows the pack’s total and its most expensive passes. Lighter packs exist, such as Wisdom Shaders V3 Lite and Pastel Mystic. Our shader comparison sorts all nine registry packs by cost.
Step 6: culling and other advanced switches
Recent builds have more options under the Performance and Advanced pages, most off by default because they trade something away:
- Cave culling is on by default; leave it.
- GPU culling (Off, On, Auto) helps a fast GPU at high render distances where the CPU is the limit, and can be slower where the GPU is the limit. Auto measures and decides for you.
- Entity, particle and leaf culling skip work you can’t see. Entity and leaf culling switch off with non-vanilla resource packs.
- Translucent batching (on by default where supported) speeds up scenes with lots of water and glass.
Not available at all: anisotropic filtering, MSAA (FXAA is offered instead) and exclusive fullscreen (fullscreen is borderless).
What about FPS mods?
You won’t find Sodium-style optimization mods for Horizon, and you don’t need them: the modpack docs list Sodium, Lithium and FerriteCore as “not needed”, because Horizon is the replacement. The optimization category mostly holds view-distance mods, such as the Distant Horizons port, which is heavier than Horizon’s own LOD at 256 chunks and above. How Horizon’s approach compares with those Java mods is covered in Horizon vs Sodium, Iris and OptiFine.
Benchmark your own PC
Horizon’s half of the official benchmark is built in. Close heavy apps, plug in a laptop and run:
horizon-launcher play --arg=--benchmark --arg=standard
Add --arg=--render-distance --arg=16 to pick a render distance. The game creates its own horizon-benchmark world (your saves are untouched), flies over a village, a forest, the ocean and a mountain, and quits. VSync is off and frames are unlimited for the run only. The report is a .json file in the benchmarks folder of the game folder, with startup time, chunk load time, average FPS, 1% and 0.1% lows and memory. Run it before and after a change and you have a real answer instead of a feeling.
What the official numbers say
On the project’s Benchmarks page, the same three computers ran Horizon and Java Edition 26.3 through the same world and flight path, at 1280×720, VSync off, simulation distance 12 and otherwise vanilla defaults, with each figure the median of runs between 22 October and 4 November 2026. At render distance 12, a 2016 ThinkPad (Core i7-7500U, Intel HD 620) averaged 209 FPS against 126 with about half the hitches; a gaming desktop averaged 2,224 against 1,824. Java Edition was faster at one thing on the ThinkPad: loading new terrain, 46.9 s against 59.7 s. Your mileage will differ, which is exactly why the benchmark command above exists.