Add frame blinker back in

This commit is contained in:
Camden Dixie O'Brien 2025-01-02 16:37:43 +00:00
parent cda484c9ab
commit 427cdef867

View File

@ -37,6 +37,9 @@ int main(int argc, char *argv[])
void *gamemem = calloc(1, game_conf.memsize);
game_init(argc, argv, gamemem, renderer);
SDL_SetRenderDrawColor(renderer, 0xf0, 0x10, 0x10, 0xff);
SDL_Rect blinker = { .x = 10, .y = 10, .w = 20, .h = 20 };
const uint64_t perfhz = SDL_GetPerformanceFrequency();
const uint64_t intervalperf = (INTERVAL * perfhz) / 1000;
perf_t perf = { .freq = perfhz / 1000000.0 };
@ -60,6 +63,8 @@ int main(int argc, char *argv[])
// Render frame
SDL_RenderClear(renderer);
game_render(gamemem, renderer, SDL_GetTicks64());
if ((frame & 1) == 0)
SDL_RenderFillRect(renderer, &blinker);
SDL_RenderPresent(renderer);
perf.render = SDL_GetPerformanceCounter();
@ -67,15 +72,14 @@ int main(int argc, char *argv[])
if ((frame & 15) == 0) {
const double evt = (perf.evt - perf.start) / perf.freq;
const double update = (perf.update - perf.evt) / perf.freq;
const double render
= (perf.render - perf.update) / perf.freq;
const double render = (perf.render - perf.update) / perf.freq;
const double total = (perf.render - perf.start) / perf.freq;
const double total_pc = (100 * total / (1000 * INTERVAL));
printf(
VT100_CLEAR VT100_CURSORTOPLEFT
"evt\t%10.3f μs\nupdate\t%10.3f μs\nrender\t"
"%10.3f μs\ntotal\t%10.3f μs (%05.2f%%)\n",
evt, update, render, total, total_pc);
VT100_CLEAR VT100_CURSORTOPLEFT
"evt\t%10.3f μs\nupdate\t%10.3f μs\nrender\t"
"%10.3f μs\ntotal\t%10.3f μs (%05.2f%%)\n",
evt, update, render, total, total_pc);
}
// Increment frame counter and wait until next interval