Skip to content

About

Project Zomboid Build 42 performance work: class overrides, harness, findings

Resources

Stars

164 stars

Watchers

3 watching

Forks

Repository files navigation

Project Zomboid without the stutter

Class overrides for Project Zomboid Build 42.21 (Windows, Linux, macOS): smoother frames, faster chunk loading, a faster boot, and optional modern graphics. projectzomboid.jar is never modified; every change has a switch.

Steam Workshop · Latest release · Discord · Live benchmark dashboard · Install guide

Stock vs PZ_Optimization, 120 km/h through Rosewood: 156 fps / p99 16.5 ms against 512 fps / p99 5.8 ms

Optimizations: 552 fps, p99 7.9 ms Optimizations, stock vs ours: driving, thunderstorms, hordes, fog, lightning, zoom, boot and load, smooth driving, house alarms, handhelds, low-end laptops, clean audio Enhancements: 297 fps, p99 14.2 ms Enhancements, each off by default: sun, moon and cloud shadows, god rays, per-pixel lighting, ambient occlusion, reflections, mirrors and windows, car glass, relief, foliage sway, colour grading, sharp sprites, HDR and upscaling

Desktop (Ryzen 7 9800X3D, RTX 4090, 5120x2160, Linux), 120 km/h through Rosewood at 19:00, uncapped. Optimizations: every optimization at its default. Enhancements: the experimental ones too and every Visuals option but remembered places, HDR and upscaling. The stock car waits for chunks; its side shows where it passed the same spot. Runs

Latest numbers

The daily re-measure of the newest release against the game as it ships, on the same desktop and routes (every scene and machine):

Desktop, uncapped Stock Optimized Faster Optimized: GPU / game thread
120 km/h drive 107 fps · p99 21.5 ms 663 fps · p99 3.3 ms 6.2x 97 / 70 %
120 km/h drive, thunderstorm + heavy fog 53 fps · p99 58.8 ms 504 fps · p99 4.4 ms 9.5x 96 / 85 %
Spinning walk through Rosewood, thunderstorm + heavy fog 31 fps · p99 95.6 ms 293 fps · p99 9.0 ms 9.3x 82 / 95 %
Horde shootout on the Riverside pier (150 zombies) 144 fps · p99 15.3 ms 333 fps · p99 6.4 ms 2.3x 92 / 83 %
Downtown Louisville horde (~2,000 zombies) 44 fps · p99 55.1 ms 133 fps · p99 16.9 ms 3.0x 40 / 96 %

Ryzen 7 9800X3D, RTX 4090, 5120x2160, Linux, Build 42.21, max zoom (the shootout at zoom 1), Enhancements off. Stock: the game as it ships; its 240 fps cap is never reached. Optimized: release a0cc7a4a (2026-10-15) at its defaults. Mean of two runs a side; stock 2026-10-02/04, Louisville stock 2026-10-15 (one run). With the experimental optimizations on too, Louisville runs at 222 fps (5.0x, below). Runs: drive · storm drive · storm walk · shootout · Louisville

Install (once, about two minutes)

Read before subscribing

  • Subscribing is not enough. This replaces game classes; it needs the one-time install below.
  • Mods: untested, unsupported. Other mods may work alongside it; nobody checks them and problems with them are not fixed.
  • Multiplayer: untested, unsupported. It installs on your client only; joining a server may work, may not.
  • Something wrong? main menu > PZ OPTIMIZATION > "Stock game" preset, restart, then tell us on Discord.

2 minute install: subscribe, enable the mod, copy the command, paste it, quit, play Manual install: find the mod's files, copy them into the game folder

  1. Subscribe to PZ_Optimization on the Workshop, let Steam download it.
  2. Mods (main menu): enable PZ_Optimization; a window shows your install command.
  3. Copy the command, paste it into PowerShell (Windows) or a terminal (Linux, macOS), Enter.
  4. Quit the game; the installer copies the files when it has closed.
  5. Start the game, disable the mod again. The main menu has a new PZ OPTIMIZATION item.

No window? Windows (PowerShell):

irm https://github.com/xD3I/PZ_Optimization/releases/latest/download/install.ps1 | iex

Linux, macOS:

curl -fsSL https://github.com/xD3I/PZ_Optimization/releases/latest/download/install.sh | bash

By hand, no command: Steam: right-click the game, Manage > Browse local files. Go up to steamapps, then workshop\content\108600\3805285544\mods\PZ_Optimization\42\pzopt-classes. Copy everything in it into the game folder (where projectzomboid.jar is), skipping files that already exist.

Every method, checking that it loaded, building from source: Install guide.

New! A built-in benchmark, one menu for everything

The main menu's PZ OPTIMIZATION item, the full-screen settings, Benchmark Setup with the five runs, a horde shooting pass, the report of the desktop's A/B run (Rosewood spin 142 to 481 fps, score 576 to 1,636) and the run comparison

New! Voxel lighting

A night lot at 01:00, stock against voxel lighting: street lamps and room lights traced through walls, windows and fences light the facades instead of a pale patch on the ground

Lamps and room lights traced through walls, windows and fences. Off by default: PZ OPTIMIZATION > Enhancements > Lighting and shadows > Per-pixel lighting.

Up to 5x faster in a Louisville horde

5x faster Louisville: stock 63 fps against optimized 281 fps on the recorded race Louisville horde on four devices: desktop 44 to 222 fps, Ayaneo Flip 32 to 82, MacBook Pro 29 to 56, Dell laptop 9 to 19

Downtown Louisville, population maxed (~2,000 zombies), uncapped, Enhancements off. Stock: the game as it ships. Optimized: every optimization on, the experimental ones included (2026-10-15). The race: desktop (Ryzen 7 9800X3D, RTX 4090, 5120x2160, Linux), both sides recorded, each counter from its own run's frame log on the route clock.

Features

Fast boot and load: launch to walking 17.6 s stock, 7.8 s enhanced Handheld efficiency: 82 fps at 302 mJ a frame on the Ayaneo Flip

Fast boot and load: desktop (Ryzen 7 9800X3D, RTX 4090, Crucial T705 NVMe, 5120x2160, Linux), launch to the world on screen, caches warm, means of two runs per side: 17.6 → 7.8 s (boot 7.4 → 5.3 s, load 10.3 → 2.5 s). Runs Handheld efficiency: Ayaneo Flip (Ryzen AI 9 HX 370, Radeon 890M, 1920x1080, Linux), thunderstorm, 120 fps cap: 34 → 78 fps, energy per frame 618 → 315 mJ (defaults + efficient cores). Runs

macOS on OpenGL 4.1: 115 fps with the Enhancements on Low-end hardware mode on a 4-core laptop

macOS on OpenGL 4.1: MacBook Pro M1 Pro, a walk round a pond. Stock on Apple's OpenGL 2.1 (113 fps); ours on OpenGL 4.1 with lighting, shadows, ambient occlusion, reflections and god rays on (115 fps). Runs Low-end hardware mode: Dell laptop (Core i5-6300HQ 4 cores, GTX 960M, 1920x1080, Linux), 120 km/h highway drive: the "Low-end hardware" preset + dynamic resolution held to 60 fps, 29 → 42 fps, p99 93 → 50 ms. Runs

Every feature with its before / after card (driving, hordes, weather, zoom, sound, the UI; per-pixel light, the real sky, reflections, mirrors, car glass ...): Features.

Against the other performance mods

5.8x vs other mods: stock 58 fps, Zed's Better FPS KA 67 fps, PZ_Optimization 386 fps in a storm with heavy fog Nine Workshop performance mods against stock and PZ_Optimization on a drive, a storm and a horde

Desktop (Ryzen 7 9800X3D, RTX 4090, 5120x2160, Linux), Build 42.21, uncapped; every side of a route ran back to back (2026-10-06/07). On the drive every other mod is within 3 % of stock; the two that gain in the horde do it by changing the launcher's garbage collector and heap. Runs · The whole comparison

Updates, uninstall

Updates arrive in the main menu (PZ OPTIMIZATION > UPDATE, one click; the item reads "UPDATE AVAILABLE" when one is offered). After a game update the next start removes a build made for the old version by itself (or installs the matching one from the Workshop item) and starts the game again.

To remove it: main menu > PZ OPTIMIZATION > Uninstall PZ Optimization. Game does not start, or already unsubscribed? Steam > Project Zomboid > Manage > Browse local files, double-click Uninstall-PZ-Optimization.cmd (Linux, macOS: bash uninstall-pz-optimization.bash there), or paste irm https://github.com/xD3I/PZ_Optimization/releases/latest/download/uninstall.ps1 | iex into PowerShell (Linux, macOS: curl -fsSL https://github.com/xD3I/PZ_Optimization/releases/latest/download/uninstall.sh | bash). Unsubscribing and "Verify integrity of game files" leave these files in the game folder; the uninstaller removes them.

More

Page What is in it
Install guide requirements, the four install methods, checking that it loaded, uninstall, the updater, game updates
Benchmarks every scene on every machine (desktop, Windows, macOS, handheld, old laptop), the other mods, boot and load, frame pacing, latency, audio
Features every optimization and enhancement with its before / after card
Settings the PZ OPTIMIZATION screen, frame caps, upscaling and DLSS, the performance overlay, pzopt.properties
How it works what each optimization changes in the game, the install without touching the jar, what was measured and dropped
Limitations and roadmap what is not tested, known issues, what is next
Benchmark harness the hands-off run rig, the run queue, Jev's verdicts, the repository layout
Every run, in order the run log since 2026-09-24 (earlier runs); every edit to a game class in prose

Build 42.21, game revision 4a0e9546ec. The overrides refuse to run against any other revision: they log one line and the game behaves as stock. Project Zomboid is by The Indie Stone. This repository contains no game assets; the edited class sources under src/overrides/ are derived from the shipped jar for the sole purpose of these patches.

About

Project Zomboid Build 42 performance work: class overrides, harness, findings

Resources

Stars

164 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages