From 55c233f61b2b957c0f07659bd8e9f315e9d3f538 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Thu, 11 Apr 2024 12:42:12 +0200 Subject: [PATCH] Print profiler at end of session --- src/client/clientlauncher.cpp | 7 +++++++ src/client/game.cpp | 9 +++++---- src/server.cpp | 13 +++++++++---- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/client/clientlauncher.cpp b/src/client/clientlauncher.cpp index 5ea089fea..05ef3ca0e 100644 --- a/src/client/clientlauncher.cpp +++ b/src/client/clientlauncher.cpp @@ -258,6 +258,13 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args) } } // Menu-game loop + // If profiler was enabled print it one last time + if (g_settings->getFloat("profiler_print_interval") > 0) { + infostream << "Profiler:" << std::endl; + g_profiler->print(infostream); + g_profiler->clear(); + } + assert(g_menucloudsmgr->getReferenceCount() == 1); g_menucloudsmgr->drop(); g_menucloudsmgr = nullptr; diff --git a/src/client/game.cpp b/src/client/game.cpp index 368bb7b64..7d5f64624 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -1904,7 +1904,8 @@ void Game::updateProfilers(const RunStats &stats, const FpsControl &draw_times, g_settings->getFloat("profiler_print_interval"); bool print_to_log = true; - if (profiler_print_interval == 0) { + // Update game UI anyway but don't log + if (profiler_print_interval <= 0) { print_to_log = false; profiler_print_interval = 3; } @@ -1919,12 +1920,12 @@ void Game::updateProfilers(const RunStats &stats, const FpsControl &draw_times, g_profiler->clear(); } - // Update update graphs + // Update graphs g_profiler->graphAdd("Time non-rendering [us]", draw_times.busy_time - stats.drawtime); - g_profiler->graphAdd("Sleep [us]", draw_times.sleep_time); - g_profiler->graphAdd("FPS", 1.0f / dtime); + + g_profiler->graphSet("FPS", 1.0f / dtime); } void Game::updateStats(RunStats *stats, const FpsControl &draw_times, diff --git a/src/server.cpp b/src/server.cpp index c317e10f4..6e12017bc 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -4096,10 +4096,9 @@ void dedicated_server_loop(Server &server, bool &kill) /* Profiler */ - if (profiler_print_interval != 0) { - if(m_profiler_interval.step(steplen, profiler_print_interval)) - { - infostream<<"Profiler:"< 0) { + if (m_profiler_interval.step(steplen, profiler_print_interval)) { + infostream << "Profiler:" << std::endl; g_profiler->print(infostream); g_profiler->clear(); } @@ -4112,6 +4111,12 @@ void dedicated_server_loop(Server &server, bool &kill) ServerList::sendAnnounce(ServerList::AA_DELETE, server.m_bind_addr.getPort()); #endif + + if (profiler_print_interval > 0) { + infostream << "Profiler:" << std::endl; + g_profiler->print(infostream); + g_profiler->clear(); + } } /*