feat: split frame/tick diagnostics into work/total/budget
This commit is contained in:
+10
-6
@@ -6,8 +6,9 @@
|
||||
uint64_t skele_tick_ns = 1000000000ULL / SKELE_DEFAULT_TICK_RATE;
|
||||
|
||||
float skele_tps = 0.0f;
|
||||
uint64_t skele_tick_time_ns = 0;
|
||||
uint64_t skele_tick_idle_ns = 0;
|
||||
uint64_t skele_tick_work_time_ns = 0;
|
||||
uint64_t skele_tick_idle_time_ns = 0;
|
||||
uint64_t skele_tick_total_time_ns = 0;
|
||||
|
||||
static uint8_t stk_initialized = 0;
|
||||
|
||||
@@ -30,8 +31,9 @@ uint8_t skele_init(void)
|
||||
tick_idle_accum = 0;
|
||||
tick_count = 0;
|
||||
skele_tps = 0.0f;
|
||||
skele_tick_time_ns = 0;
|
||||
skele_tick_idle_ns = 0;
|
||||
skele_tick_work_time_ns = 0;
|
||||
skele_tick_idle_time_ns = 0;
|
||||
skele_tick_total_time_ns = 0;
|
||||
return SKELE_INIT_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -55,8 +57,10 @@ void skele_clock_tick_end(void)
|
||||
if (now - tick_win_start >= 1000000000ULL) {
|
||||
double elapsed_s = (now - tick_win_start) / 1e9;
|
||||
skele_tps = tick_count / elapsed_s;
|
||||
skele_tick_time_ns = tick_ns_accum / tick_count;
|
||||
skele_tick_idle_ns = tick_idle_accum / tick_count;
|
||||
skele_tick_work_time_ns = tick_ns_accum / tick_count;
|
||||
skele_tick_idle_time_ns = tick_idle_accum / tick_count;
|
||||
skele_tick_total_time_ns =
|
||||
skele_tick_work_time_ns + skele_tick_idle_time_ns;
|
||||
|
||||
tick_win_start = now;
|
||||
tick_ns_accum = 0;
|
||||
|
||||
Reference in New Issue
Block a user