Description
Governor
Beta. An early build of Governor: expect bugs, you can report them on the Discord.
Governor measures frame times. It shows on screen where each frame goes, and it runs a repeatable benchmark that writes every frame to a file, so two runs can be compared. It changes nothing else in the game.

The readout
hudOverlay = trueinconfig/governor-client.tomldraws four rows in the top left corner. It is off by default.- FPS, the 1% low (the frame rate of the slowest 1% of frames) and the frame time, each an average over the last ten seconds.
- "Slowest" names the part of the frame that takes longest: client tick, world, entities, block entities, particles or HUD.
- It hides with the HUD (F1) and while the F3 screen is open.

Benchmark runs
- The JVM argument
-Dgovernor.bench=truearms one run per launch. It starts in the first world you enter. - It waits 30 seconds and for the chunks, then records 60 seconds while the view turns one full circle, by elapsed time and not by frames.
- For the run vsync and the frame limiter are lifted and, in singleplayer, the time is set to noon and the weather cleared.
- Afterwards the game rules, time, weather and options are put back, also when the game is closed during a run. The result appears in the chat.

Result files
- A run writes to
governor-benchin the game folder.frames-<tag>.csvhas one line per frame with the time of each of its six parts. summary-<tag>.jsonhas the mean FPS, the 1% low, the 50th, 95th and 99th percentile frame times and the garbage collection pauses.- A sampler reads the render and server threads 100 times a second and writes collapsed stacks, which show whose code the time went to.
-Dgovernor.bench.duration=60,.settle=30,.tag=runand.out=<folder>change a run.
Requirements
Minecraft 1.21.1, Java 21, NeoForge 21.1. Client only. No other mod is needed.
This mod has been abandoned. It works fine, but it will not receive updates.
NeoForge 1.21.1, client side. Free to use in modpacks.


