Skip to content

Memory and GC Setup

Techjar edited this page Aug 16, 2024 · 13 revisions

Garbage collection is the technique Java uses to clean up unused data in memory. Java's default garbage collector (currently G1GC on Java 17) is not optimal for use with Minecraft in VR, as it can have fairly high pause times which manifest as hitches and frame drops. Various other garbage collector configurations found in the wild are also not optimal, and in some cases can causes even larger hitches. Through much testing, we have determined that the best one for minimizing hitching is ZGC. The guides below will detail how to configure your launcher to use it, as well as set a suitable amount of memory for it to work properly.

Guide for Mojang Launcher

Guide for Modrinth App

Guide for CurseForge App

Guide for Prism Launcher, MultiMC, and other forks

It is advised not to combine the JVM arguments from the above guides with arguments from other guides you might find elsewhere. These alone have given the best results in our testing. Also of note, is that ZGC can be very CPU intensive, so it may actually make performance worse if you have a very old or low-end CPU with less than 4 cores and 8 threads.