Skip to content
Permalink
Browse files

Fix profiler values not being updated (F6) and not being logged

  • Loading branch information
Zeno- committed Nov 11, 2014
1 parent 0adadba commit 45ebaa3524a47e12ae1020c4803e3dd499487808
Showing with 34 additions and 1 deletion.
  1. +34 −1 src/game.cpp
@@ -1438,6 +1438,8 @@ class Game
bool checkConnection();
bool handleCallbacks();
void processQueues();
void updateProfilers(const GameRunData &run_data, const RunStats &stats,
const FpsControl &draw_times, f32 dtime);
void addProfilerGraphs(const RunStats &stats, const FpsControl &draw_times,
f32 dtime);
void updateStats(RunStats *stats, const FpsControl &draw_times, f32 dtime);
@@ -1574,6 +1576,8 @@ class Game
std::wstring statustext;

KeyCache keycache;

IntervalLimiter profiler_interval;
};

Game::Game() :
@@ -1722,7 +1726,8 @@ void Game::run()

infotext = L"";
hud->resizeHotbar();
addProfilerGraphs(stats, draw_times, dtime);

updateProfilers(runData, stats, draw_times, dtime);
processUserInput(&flags, &runData, dtime);
// Update camera before player movement to avoid camera lag of one frame
updateCameraDirection(&cam_view, &flags);
@@ -2319,6 +2324,34 @@ void Game::processQueues()
}


void Game::updateProfilers(const GameRunData &run_data, const RunStats &stats,
const FpsControl &draw_times, f32 dtime)
{
float profiler_print_interval =
g_settings->getFloat("profiler_print_interval");
bool print_to_log = true;

if (profiler_print_interval == 0) {
print_to_log = false;
profiler_print_interval = 5;
}

if (profiler_interval.step(dtime, profiler_print_interval)) {
if (print_to_log) {
infostream << "Profiler:" << std::endl;
g_profiler->print(infostream);
}

update_profiler_gui(guitext_profiler, font, text_height,
run_data.profiler_current_page, run_data.profiler_max_page);

g_profiler->clear();
}

addProfilerGraphs(stats, draw_times, dtime);
}


void Game::addProfilerGraphs(const RunStats &stats,
const FpsControl &draw_times, f32 dtime)
{

0 comments on commit 45ebaa3

Please sign in to comment.