From dd7d1e40b1bffa26c7c16ce7bc200dced6caf4e0 Mon Sep 17 00:00:00 2001 From: Hannu Hanhi Date: Sun, 23 Aug 2020 20:09:55 +0300 Subject: [PATCH] Add tic and ui times to render stats --- src/d_clisrv.c | 4 ++++ src/d_main.c | 20 ++++++++++++++++++-- src/r_main.c | 2 ++ src/r_main.h | 2 ++ 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 8c8dad4cc..51c3156f8 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -5427,11 +5427,15 @@ void TryRunTics(tic_t realtics) { DEBFILE(va("============ Running tic %d (local %d)\n", gametic, localgametic)); + rs_tictime = I_GetTimeMicros(); + G_Ticker((gametic % NEWTICRATERATIO) == 0); ExtraDataTicker(); gametic++; consistancy[gametic%BACKUPTICS] = Consistancy(); + rs_tictime = I_GetTimeMicros() - rs_tictime; + // Leave a certain amount of tics present in the net buffer as long as we've ran at least one tic this frame. if (client && gamestate == GS_LEVEL && leveltime > 3 && neededtic <= gametic + cv_netticbuffer.value) break; diff --git a/src/d_main.c b/src/d_main.c index 25209de68..fcc22b497 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -495,6 +495,8 @@ static void D_Display(void) lastdraw = false; } + rs_uitime = I_GetTimeMicros(); + if (gamestate == GS_LEVEL) { ST_Drawer(); @@ -504,6 +506,10 @@ static void D_Display(void) else F_TitleScreenDrawer(); } + else + { + rs_uitime = I_GetTimeMicros(); + } } // change gamma if needed @@ -544,6 +550,8 @@ static void D_Display(void) CON_Drawer(); + rs_uitime = I_GetTimeMicros() - rs_uitime; + // // wipe update // @@ -656,8 +664,12 @@ static void D_Display(void) V_DrawThinString(30, 60, V_MONOSPACE | V_YELLOWMAP, s); snprintf(s, sizeof s - 1, "sdrw %d", rs_hw_spritedrawtime / divisor); V_DrawThinString(30, 70, V_MONOSPACE | V_YELLOWMAP, s); - snprintf(s, sizeof s - 1, "fin %d", rs_swaptime / divisor); + snprintf(s, sizeof s - 1, "ui %d", rs_uitime / divisor); V_DrawThinString(30, 80, V_MONOSPACE | V_YELLOWMAP, s); + snprintf(s, sizeof s - 1, "fin %d", rs_swaptime / divisor); + V_DrawThinString(30, 90, V_MONOSPACE | V_YELLOWMAP, s); + snprintf(s, sizeof s - 1, "tic %d", rs_tictime / divisor); + V_DrawThinString(30, 105, V_MONOSPACE | V_GRAYMAP, s); if (cv_glbatching.value) { snprintf(s, sizeof s - 1, "bsrt %d", rs_hw_batchsorttime / divisor); @@ -689,8 +701,12 @@ static void D_Display(void) V_DrawThinString(30, 50, V_MONOSPACE | V_YELLOWMAP, s); snprintf(s, sizeof s - 1, "mskd %d", rs_sw_maskedtime / divisor); V_DrawThinString(30, 60, V_MONOSPACE | V_YELLOWMAP, s); - snprintf(s, sizeof s - 1, "fin %d", rs_swaptime / divisor); + snprintf(s, sizeof s - 1, "ui %d", rs_uitime / divisor); V_DrawThinString(30, 70, V_MONOSPACE | V_YELLOWMAP, s); + snprintf(s, sizeof s - 1, "fin %d", rs_swaptime / divisor); + V_DrawThinString(30, 80, V_MONOSPACE | V_YELLOWMAP, s); + snprintf(s, sizeof s - 1, "tic %d", rs_tictime / divisor); + V_DrawThinString(30, 95, V_MONOSPACE | V_GRAYMAP, s); } } diff --git a/src/r_main.c b/src/r_main.c index 4f79dd8db..46ba0ecad 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -102,7 +102,9 @@ extracolormap_t *extra_colormaps = NULL; // Render stats int rs_prevframetime = 0; int rs_rendercalltime = 0; +int rs_uitime = 0; int rs_swaptime = 0; +int rs_tictime = 0; int rs_bsptime = 0; diff --git a/src/r_main.h b/src/r_main.h index 729ec6973..f95e2538d 100644 --- a/src/r_main.h +++ b/src/r_main.h @@ -81,7 +81,9 @@ extern consvar_t cv_renderstats; extern int rs_prevframetime;// time when previous frame was rendered extern int rs_rendercalltime; +extern int rs_uitime; extern int rs_swaptime; +extern int rs_tictime; extern int rs_bsptime;