Hey, I've been playing with 50+ mods and getting slowdowns, especially in bigger or busier rooms. I wanted to understand what was taking so much time, so I started building a profiler for my own setup. It's now at a point where I'd like other people to try it, particularly mod authors.
It's called Isaac Doctor. You record a section of gameplay, then inspect it in a local browser UI similar to Chrome's Performance tab.
GitHub, screenshots and documentation · Download
Screenshot: timeline, FPS graphs and mod breakdown
You can:
- Zoom into the callback timeline and break down costs by mod, hook and function.
- Find slow render/update intervals and look at FPS/UPS, frame-time percentiles and the callbacks in that range.
- Put those timings next to screenshots and sampled entity, effect and projectile counts.
- Connect your local mods folder to read Lua source beside a selected callback's timings.
- Choose which channels, mods and hooks to record, and start/stop on events such as room entry with configurable delays.
One example from my testing: some Diepio HUD callbacks were recreating fonts and loading assets during renders. After caching those in a local copy, their combined mean self time per call went from about 0.48 ms to 0.03 ms. Those were different runs, so I'm treating that as a callback-level improvement, not a claim that overall FPS increased by the same amount.
Screenshot: callback timing with Lua source
Currently Windows only, for Repentance+ with REPENTOGON. Extract the release ZIP, run IsaacDoctor.exe, launch the game through your usual REPENTOGONLauncher setup, then connect and record. The package includes the runtime, so you don't need to build it or install Python/Node. Recording and analysis stay local.
It's free and open source under MIT. It uses native callback instrumentation and saves binary recordings for later analysis. It helps investigate slowdowns; it doesn't automatically optimize your mods or account for every part of the engine.
If you make mods, I'd appreciate feedback on whether the timings and breakdowns are useful, anything confusing in the UI, and what you'd need to debug your own performance problems. If you've used the existing in-game Mod Profiler, I'd also like to hear what you find useful there that this is missing.
I've mostly tested it with my own mod setup so far. Bug reports and suggestions here or on GitHub are welcome.