Vitals

Vitals

A clean, minimal performance overlay with spike cause attribution and one-key CSV export.

50 downloads
5 followers

Vitals

A clean, minimal performance overlay for Fabric — built to tell you not just how fast the game runs, but what caused that stutter.

What it shows

  • FPS — read from the game's own counter, so it always matches vanilla and other tools
  • 1% low FPS and frametime p50 / p99 percentiles (the numbers that actually feel like smoothness)
  • Frametime sparkline with adaptive scale — spike bars are colored by their cause
  • Server tick budget — how much of the 50 ms tick the integrated server uses (singleplayer)
  • Heap usage and GC activity — last pause duration and time since
  • Spike attribution — when a frame spike happens, Vitals tells you who did it:
    • gc (amber) — garbage collector pause overlapped the frame
    • tick (blue) — the integrated server tick ran long
    • render (red) — everything else (graphics-bound)

Benchmarking

Press F9 to export the whole session (up to 2048 frame samples + summary statistics) to .minecraft/vitals/*.csv. Header lines start with #, so pandas (comment='#') and spreadsheets read it cleanly. Perfect for A/B testing JVM flags, mod configs, or graphics settings — compare p99 and 1% lows, not averages.

F8 toggles the overlay. Keys are rebindable in Controls.

Design principles

  • Numbers wear neutral ink; color only appears where it carries meaning (status dot, budget bar, spike bars). No rainbow HUD.
  • Zero mixins — pure Fabric API. Nothing to conflict with your other 100 mods.
  • Near-zero overhead: no per-frame allocations, text refreshes at 2.5 Hz, primitive ring buffers throughout. A performance tool must not cost performance.

Methodology notes (honest fine print)

Since Minecraft 26.x, HUD rendering is decoupled from the frame loop, so Vitals samples the game's own per-frame timer instead of timing its callback. Percentiles are statistically valid estimates; any stall longer than the sampling interval is always captured. Spike attribution is a well-informed heuristic, not a profiler proof. For deep profiling, use spark — Vitals is the always-on dashboard, not the microscope.

Requires Fabric API and Java 25 (Minecraft 26.2+).