Real-Time Visual Memory Unit Profiler for KallistiOS-Based Sega Dreamcast Applications
The VMU Profiler was created as a profiling tool for the Grand Theft Auto 3 port to the Sega Dreamcast as a way to gather real-time scene and resource statistics on actual hardware, rather than relying on emulators. Modified with extensibility for the Doom 64 port to the Sega Dreamcast.
- WHATEVER YOU WANT
- Runs in a background thread, no blocking on Maple
- Configurable polling interval, sleeps in between updates
- Configurable background thread priority
- Configurable VMU port to display on
- Configurable frames to average for smooth FPS counting
- User-defined/configurable statistics
void update_transformed_verts(vmu_profiler_measurement_t *m)
{
Engine *engine = (Engine *)m->user_data;
m->ustorage = engine->transformed_verts;
}
int main(int argc, char* argv[]) {
// initialize video
// initialize audio
vmu_profiler *profiler = vmu_profiler_start(<optional configuration>);
if (profiler) {
vmu_profiler_measurement_t *xv_msr = init_measurement("TVRT", use_unsigned, update_transformed_verts, engine);
vmu_profiler_add_measure(p, xv_msr);
}
// Start the game loop
while(!done) {
// Update every frame
vmu_profiler_update();
}
vmu_profiler_stop();
return 0;
}
Idk, drop them in your program source folder :-)
100% inspired by the badass FPS monitor in Bloom, the incredible PS1 emulator for Sega Dreamcast by Paul Cercuei.