Files
horizon/benchmarks/perf/windows-9800x3d-5080-2026-10-29.md
d3grandoandClaude Opus 5.5 150412d353 benchmarks: rerun the Windows RD 8 and RD 32 games on an idle machine
ludovic111 pointed out that the first pass's RD 8 and RD 32 games had builds
running alongside, which docs/benchmark.md keeps out of published results.
Each game now started only with no compiler or other game running and the
CPU under 15 % for 30 s, and a game during which one started (or other
processes used over 15 % for 10 s) was run again. RD 16 was already idle.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 02:30:03 +07:00

7.4 KiB
Raw Permalink Blame History

Horizon v0.2.97 vs vanilla 26.3 on Windows 11: Ryzen 7 9800X3D + RTX 5080 (2026-10-29, RD 8 and 32 rerun 2026-10-30)

The first tools/perf_bench.py run on Windows (docs/benchmark.md): Horizon, vanilla 26.3 and vanilla with performance mods, render distances 8, 16 and 32, 1280x720, three games each, every game from a fresh world. The reports are the *-win-9800x3d-5080-rd*.json files next to this page.

python tools/perf_bench.py --table horizon-win-9800x3d-5080 vanilla-win-9800x3d-5080 vanilla-mods-win-9800x3d-5080

Setup

  • Machine: AMD Ryzen 7 9800X3D (8 cores, 16 threads), 94 GB RAM (DDR5, EXPO off), NVIDIA GeForce RTX 5080 (driver 617.42), Windows 11 Pro 26200, Balanced power plan, desktop. One 1920x1080 120 Hz display. The game windows were on the desktop of an unlocked session.
  • Horizon: release v0.2.97 as the launcher installs it (--build %APPDATA%\horizon-launcher\versions\v0.2.97, --resources its .local\horizon-client\26.3), Vulkan.
  • Vanilla: the 26.3 client jar with Fabric Loader 0.19.5 and the driver mod, Java 25.0.5 (Temurin), -Xmx2G with the launcher's G1 flags and the manifest's -XX:StackShadowPages=32, OpenGL 3.3.
  • Vanilla + mods: the same with Sodium mc26.3-0.9.2, Lithium mc26.3-0.26.2, FerriteCore 9.0.0 and ImmediatelyFast 1.17.1 (tools/benchmark-deps/mods.lock.json).
  • Commands: python tools/perf_bench.py --game <game> --label <game>-win-9800x3d-5080 --distances <d> --sizes 1280x720 --repeats 3 (plus --build and --resources for Horizon), with the games taking turns at each distance.
  • Memory is the working set on Windows (what Task Manager shows), sampled from outside the process. Horizon's GPU figure is its own Vulkan allocator total. nvidia-smi gives no per-process figure under WDDM, so vanilla has none.

Load

Windows has no load average, so the reports have no load_avg_1m. Every game ran on an otherwise idle machine:

  • RD 8 and RD 32 (rerun on 2026-10-30, after the first pass had builds running alongside): a script started each game only once no rustc, cargo, link (or other compiler) process and no other game (horizon-client, java, javaw, Minecraft) was running, and the machine's CPU load had stayed under 15 % in every 5-second sample for 30 seconds. During each game it sampled every 2 seconds the machine's CPU load and the CPU of everything outside the benchmark's own processes. A game during which a compiler or another game ran, or other processes used over 15 % of the machine for 10 seconds, was discarded and run again: two of the 20 games were (vanilla + mods at RD 32, a build started during one, background processes during the other).
  • RD 16 (2026-10-29): no rustc, cargo or link process at any point, the load logged every 5 seconds.
Game RD Mean / max CPU load (machine, the game included) Other processes' CPU, mean / max Compiler processes
Horizon 8 18 % / 49 % 6 % / 12 % 0
Vanilla 8 28 % / 75 % 7 % / 20 % 0
Vanilla + mods 8 30 % / 81 % 7 % / 20 % 0
Horizon 16 29 % / 80 % – 0
Vanilla 16 41 % / 91 % – 0
Vanilla + mods 16 51 % / 90 % – 0
Horizon 32 36 % / 100 % 5 % / 15 % 0
Vanilla 32 39 % / 73 % 6 % / 18 % 0
Vanilla + mods 32 42 % / 88 % 6 % / 21 % 0

"Other processes" is the machine's load minus the benchmark's own processes (the game and perf_bench.py), in 2-second samples. Most of it is the system's share of the game's own drawing (the graphics driver and the compositor), which no process of the benchmark is charged for; the desktop apps left open (a browser, chat apps) briefly reached 5 % at most. RD 16's load was logged from outside every 5 seconds, so it has no such split, and its mean includes the time between games. Compared with the first pass, the idle RD 8 runs give Horizon about 10 % higher averages and about 50 % higher 1% lows, and vanilla up to 10 % higher averages.

Results

Mean of 3 games ± 95% confidence interval. FPS over the 12-second flight at 16 blocks/s (average / 1% low / 0.1% low):

RD scene Horizon v0.2.97 Vanilla 26.3 Vanilla + mods
8 forest 3495 ±276 / 1295 ±397 / 859 ±298 2457 ±836 / 625 ±224 / 252 ±52 2425 ±65 / 733 ±30 / 250 ±22
8 mountain 3376 ±67 / 1384 ±168 / 850 ±256 2605 ±811 / 700 ±218 / 264 ±71 2538 ±167 / 760 ±34 / 241 ±44
8 ocean 3346 ±147 / 1358 ±237 / 912 ±235 2470 ±828 / 689 ±241 / 286 ±53 2432 ±82 / 764 ±37 / 262 ±37
8 village 2942 ±197 / 1271 ±146 / 839 ±94 2217 ±112 / 545 ±37 / 215 ±14 2104 ±101 / 577 ±84 / 196 ±47
16 forest 2424 ±138 / 709 ±165 / 401 ±100 1912 ±324 / 402 ±89 / 149 ±25 1746 ±32 / 461 ±27 / 179 ±9
16 mountain 1961 ±99 / 537 ±96 / 297 ±75 1653 ±153 / 332 ±27 / 113 ±8 1500 ±55 / 408 ±40 / 140 ±10
16 ocean 2201 ±183 / 554 ±251 / 325 ±326 1861 ±289 / 446 ±142 / 165 ±29 1815 ±119 / 514 ±142 / 192 ±58
16 village 1712 ±192 / 593 ±80 / 358 ±69 1218 ±65 / 318 ±16 / 127 ±5 1282 ±162 / 343 ±25 / 132 ±12
32 forest 1389 ±70 / 504 ±33 / 330 ±118 1203 ±51 / 228 ±13 / 108 ±12 929 ±8 / 313 ±41 / 129 ±32
32 mountain 1086 ±34 / 258 ±78 / 108 ±37 815 ±61 / 55 ±13 / 8 ±3 645 ±10 / 166 ±12 / 86 ±21
32 ocean 1189 ±27 / 155 ±9 / 68 ±8 1223 ±33 / 236 ±17 / 99 ±21 1017 ±14 / 325 ±38 / 117 ±28
32 village 1164 ±9 / 416 ±39 / 216 ±86 882 ±48 / 184 ±12 / 83 ±17 926 ±17 / 250 ±5 / 93 ±11

Startup, loading and memory (means of 3 games):

RD Horizon v0.2.97 Vanilla 26.3 Vanilla + mods
8 start to title / in-world 3.0 s / 6.1 s 7.7 s / 13.9 s 11.1 s / 17.6 s
8 mean scene load 1.3 s 4.0 s 3.6 s
8 working set, steady / peak 1082 / 1172 MB 1913 / 2120 MB 1904 / 2053 MB
16 start to title / in-world 3.2 s / 7.2 s 7.7 s / 19.9 s 10.8 s / 23.5 s
16 mean scene load 2.4 s 9.2 s 9.0 s
16 working set, steady / peak 1236 / 1459 MB 2300 / 2540 MB 2327 / 2496 MB
32 start to title / in-world 2.9 s / 10.5 s 7.5 s / 35.4 s 11.0 s / 39.2 s
32 mean scene load 5.7 s 21.1 s 19.9 s
32 working set, steady / peak 1730 / 2045 MB 2799 / 2892 MB 2895 / 2965 MB

What it shows

  • At RD 8 and 16, Horizon's average FPS is 18–42 % above vanilla's in every scene. Its 1% lows are 1.2–2.3 times vanilla's and its 0.1% lows 2.0–3.9 times. On this CPU and GPU the performance mods leave vanilla's averages level or slightly lower, and raise its 1% lows by 6–23 %.
  • At RD 32, Horizon's average is 15–33 % above vanilla's over the forest, the mountain and the village, with 1% lows 2.2–4.7 times vanilla's. Over the ocean its average is level with vanilla's, but its lows are lower than vanilla's and the modded client's (155 vs 236 and 325 FPS 1% low, 68 vs 99 and 117 FPS 0.1% low), on an idle machine too. That scene is worth a closer look.
  • Horizon reaches the title screen 2.4–2.6 times faster than vanilla (3.4–3.8 times faster than the modded client) and loads a scene's chunks 3–4 times faster. Its steady working set is 38–46 % smaller.
  • Each game uses its own graphics API: Horizon Vulkan, vanilla OpenGL. That difference is part of what's compared.