Added more profiling events for rewinding.

This commit is contained in:
hiker 2017-08-11 09:46:30 +10:00
parent 379a9db3c9
commit aa757637ec
2 changed files with 9 additions and 11 deletions

View File

@ -969,6 +969,8 @@ void World::update(float dt)
PROFILER_PUSH_CPU_MARKER("World::update (sub-updates)", 0x20, 0x7F, 0x00);
WorldStatus::update(dt);
PROFILER_POP_CPU_MARKER();
PROFILER_PUSH_CPU_MARKER("World::update (RewindManager)", 0x20, 0x7F, 0x40);
RewindManager::get()->update(dt);
PROFILER_POP_CPU_MARKER();

View File

@ -29,6 +29,7 @@
#include "physics/physics.hpp"
#include "race/history.hpp"
#include "utils/log.hpp"
#include "utils/profiler.hpp"
#include <algorithm>
@ -196,6 +197,7 @@ void RewindManager::update(float dt)
{
return;
}
PROFILER_PUSH_CPU_MARKER("RewindManager - save state", 0x20, 0x7F, 0x20);
// Save state
GameProtocol::getInstance()->startNewState();
@ -214,10 +216,10 @@ void RewindManager::update(float dt)
else
delete buffer; // NULL or 0 byte buffer
}
PROFILER_POP_CPU_MARKER();
PROFILER_PUSH_CPU_MARKER("RewindManager - send state", 0x20, 0x7F, 0x40);
GameProtocol::getInstance()->sendState();
Log::verbose("RewindManager", "%f allocated %ld",
World::getWorld()->getTime(), m_overall_state_size);
PROFILER_POP_CPU_MARKER();
m_last_saved_state = time;
} // update
@ -239,18 +241,12 @@ void RewindManager::playEventsTill(float time, float *dt)
m_rewind_queue.mergeNetworkData(World::getWorld()->getTime(), *dt,
&needs_rewind, &rewind_time);
if(needs_rewind)
Log::info("RewindManager", "At %f merging states from %f needs rewind",
World::getWorld()->getTime(), rewind_time);
else
Log::info("RewindManager", "At %f no need for rewind",
World::getWorld()->getTime());
if (needs_rewind)
{
Log::setPrefix("Rewind");
PROFILER_POP_CPU_MARKER("Rewind", 128, 128, 128);
rewindTo(rewind_time);
PROFILER_POP_CPU_MARKER();
Log::setPrefix("");
TimeStepInfo *tsi = m_rewind_queue.getCurrent();
World::getWorld()->setTime(tsi->getTime());