Profiling and render instrumentation for Minecraft 1.8.9 (Ornithe / Fabric).
- spark, bundled:
/sparkon the server and in singleplayer,/sparkcfor the client. - Readable profiles: stack frames are remapped to Feather names before upload, since the spark viewer has no Feather mappings.
- Tracy: run with
-Dpulse.tracy=trueand connect a Tracy profiler. EveryProfilersection in vanilla and in other mods becomes a zone, on both the client and server threads, plus a frame mark per frame. GPU zones are added on Windows and Linux, where the driver providesARB_timer_query. To capture without the GUI, runtracy-capture -a 127.0.0.1 -o session.tracy. The client library is bundled; it must match your Tracy version (seetracy_versioningradle.properties). - Startup profiling: run with
-Dpulse.profileStartup=trueto log how long startup took (loader, game init, first frame) and save a spark profile of it toconfig/pulse/startup-*.sparkprofile. Sampling starts at mod init, so the loader phase is timed but not profiled. - Draw calls in F3: per-frame GL draw calls, split into categories (terrain, sky, entities, tiles, particles, text, GUI, other). Counted at the LWJGL level, so draws from mods that bypass vanilla rendering are included.
Requires lenis or legacy-lwjgl3 on the client, and Java 25.