Why GraalVM Makes PZ Run Faster
Project Zomboid runs entirely on the Java Virtual Machine (JVM). When Java code runs, a component called the JIT (Just-In-Time) compiler watches which parts of the code execute most often and compiles those hot paths into native machine code for your CPU. The quality of that compiled code determines how fast the game runs.
Build 41 ships with OpenJDK 17, which uses the C2 JIT compiler. GraalVM JDK 17 is a drop-in replacement that uses the Graal compiler instead. Graal is written in Java itself, which allows it to apply more sophisticated optimizations than C2. For a simulation-heavy game like PZ, where the same zombie AI routines and pathfinding code run thousands of times per second, better JIT output translates directly to higher and more stable FPS.
This guide is specifically for Build 41 (stable). The process swaps the jre64 folder that PZ uses exclusively - your system Java is never touched.
What to Expect
Results vary by system. Common reports from players who have done this swap:
- Higher average FPS in areas with large zombie populations
- Reduced frame time spikes during heavy simulation ticks
- Slightly faster world load times as the JIT warms up quicker
If your machine is already GPU-bound (GPU at 99% usage, CPU idle), the gains will be smaller. On CPU-bound systems and lower-end hardware, the difference is more pronounced.
Platform Notes
- Windows: Use the Windows x64 zip archive
- Linux: Use the Linux x64 tar.gz archive; same folder layout applies
- Steam Deck: Use Linux ARM; access game files via Desktop Mode
- macOS: GraalVM on Apple Silicon runs through Rosetta 2 emulation, which adds overhead. Benchmark carefully before committing to the swap on Mac.
If you run Steam Verify Game Files, it will detect the replaced
jre64and restore the original. Keep the GraalVM archive saved somewhere so you can redo the swap quickly after a verify.