feat: log tick/idle diagnostics in example server

Brackets game_tick() with skele_clock_tick_begin/end and the
sleep-to-hit-tick-rate call with skele_clock_idle_begin/end.
This commit is contained in:
2026-08-23 17:44:35 +02:00
parent 9ba3494eac
commit 605d34777b
+16
View File
@@ -2,6 +2,7 @@
#include <skele/clock.h> #include <skele/clock.h>
#include <skele/skele.h> #include <skele/skele.h>
#include <stk/stk.h> #include <stk/stk.h>
#include <stk/stk_log.h>
static uint8_t running = 1; static uint8_t running = 1;
@@ -11,6 +12,7 @@ int main(int argc, char *argv[])
{ {
uint64_t tick_start; uint64_t tick_start;
uint64_t elapsed; uint64_t elapsed;
uint64_t last_print = 0;
(void)argc; (void)argc;
(void)argv; (void)argv;
@@ -33,13 +35,27 @@ int main(int argc, char *argv[])
while (running) { while (running) {
tick_start = skele_time_ns(); tick_start = skele_time_ns();
skele_clock_tick_begin();
stk_poll(); stk_poll();
game_tick(); game_tick();
skele_clock_tick_end();
if (tick_start - last_print >= 1000000000ULL) {
stk_log(STK_LOG_INFO,
"tps=%.1f tick=%lluns/%lluns idle=%lluns",
skele_tps,
(unsigned long long)skele_tick_time_ns,
(unsigned long long)skele_tick_ns,
(unsigned long long)skele_tick_idle_ns);
last_print = tick_start;
}
elapsed = skele_time_ns() - tick_start; elapsed = skele_time_ns() - tick_start;
skele_clock_idle_begin();
if (elapsed < skele_tick_ns) if (elapsed < skele_tick_ns)
skele_sleep_ns(skele_tick_ns - elapsed); skele_sleep_ns(skele_tick_ns - elapsed);
skele_clock_idle_end();
} }
game_shutdown(); game_shutdown();