consistency

This commit is contained in:
Irlan
2019-03-30 11:51:55 -03:00
parent 812ee84d7e
commit f59df50fbd
6 changed files with 29 additions and 30 deletions

View File

@ -26,7 +26,7 @@ Model::Model()
g_draw = &m_draw; g_draw = &m_draw;
g_camera = &m_camera; g_camera = &m_camera;
g_profiler = &m_profiler; g_profiler = &m_profiler;
g_profilerRecorder = &m_profilerListener.m_recorderProfiler; g_profilerRecorder = &m_profilerListener.m_recorderListener;
g_profilerListener = &m_profilerListener; g_profilerListener = &m_profilerListener;
m_test = nullptr; m_test = nullptr;

View File

@ -81,8 +81,6 @@ void Profiler::End()
listener->BeginEvent(e.name, e.t0); listener->BeginEvent(e.name, e.t0);
listener->EndEvent(e.name, e.t1); listener->EndEvent(e.name, e.t1);
listener->Duration(e.name, e.t1 - e.t0);
} }
} }

View File

@ -92,14 +92,6 @@ public:
B3_NOT_USED(name); B3_NOT_USED(name);
B3_NOT_USED(time); B3_NOT_USED(time);
} }
// This function is called when a profiler event ends.
// However it supplies the duration of the last begin and end events.
virtual void Duration(const char* name, float64 duration)
{
B3_NOT_USED(name);
B3_NOT_USED(duration);
}
}; };
extern ProfilerListener* g_profilerListener; extern ProfilerListener* g_profilerListener;

View File

@ -61,27 +61,35 @@ ProfilerRecord* RecorderProfiler::FindRecord(const char* name)
return nullptr; return nullptr;
} }
void RecorderProfiler::Add(const char* name, float64 elapsedTime) void RecorderProfiler::BeginEvent(const char* name, float64 time)
{ {
B3_ASSERT(elapsedTime >= 0.0);
++m_call; ++m_call;
ProfilerRecord* fr = FindRecord(name); ProfilerRecord* fr = FindRecord(name);
if (fr) if (fr)
{ {
fr->elapsed += elapsedTime; fr->time = time;
fr->maxElapsed = b3Max(fr->maxElapsed, elapsedTime);
fr->call = m_call; fr->call = m_call;
return; return;
} }
ProfilerRecord r; ProfilerRecord r;
r.name = name; r.name = name;
r.elapsed = elapsedTime; r.time = time;
r.maxElapsed = elapsedTime; r.elapsed = 0.0;
r.maxElapsed = 0.0;
r.call = m_call; r.call = m_call;
m_records.PushBack(r); m_records.PushBack(r);
}
void RecorderProfiler::EndEvent(const char* name, float64 time)
{
ProfilerRecord* fr = FindRecord(name);
B3_ASSERT(fr != nullptr);
float64 elapsedTime = time - fr->time;
fr->elapsed += elapsedTime;
fr->maxElapsed = b3Max(fr->maxElapsed, elapsedTime);
} }

View File

@ -26,6 +26,7 @@
struct ProfilerRecord struct ProfilerRecord
{ {
const char* name; const char* name;
float64 time;
float64 elapsed; float64 elapsed;
float64 maxElapsed; float64 maxElapsed;
u32 call; u32 call;
@ -41,7 +42,9 @@ public:
void EndEvents(); void EndEvents();
void Add(const char* name, float64 elapsedTime); void BeginEvent(const char* name, float64 time);
void EndEvent(const char* name, float64 time);
ProfilerRecord* FindRecord(const char* name); ProfilerRecord* FindRecord(const char* name);

View File

@ -36,7 +36,7 @@ class TestbedListener : public ProfilerListener
public: public:
void BeginEvents() override void BeginEvents() override
{ {
m_recorderProfiler.BeginEvents(); m_recorderListener.BeginEvents();
#if (PROFILE_JSON == 1) #if (PROFILE_JSON == 1)
m_jsonListener.BeginEvents(); m_jsonListener.BeginEvents();
@ -46,7 +46,7 @@ public:
void EndEvents() override void EndEvents() override
{ {
m_recorderProfiler.EndEvents(); m_recorderListener.EndEvents();
#if (PROFILE_JSON == 1) #if (PROFILE_JSON == 1)
m_jsonListener.EndEvents(); m_jsonListener.EndEvents();
@ -56,6 +56,8 @@ public:
void BeginEvent(const char* name, float64 time) override void BeginEvent(const char* name, float64 time) override
{ {
m_recorderListener.BeginEvent(name, time);
#if (PROFILE_JSON == 1) #if (PROFILE_JSON == 1)
m_jsonListener.BeginEvent(name, time); m_jsonListener.BeginEvent(name, time);
#endif #endif
@ -63,18 +65,14 @@ public:
void EndEvent(const char* name, float64 time) override void EndEvent(const char* name, float64 time) override
{ {
m_recorderListener.EndEvent(name, time);
#if (PROFILE_JSON == 1) #if (PROFILE_JSON == 1)
m_jsonListener.EndEvent(name, time); m_jsonListener.EndEvent(name, time);
#endif #endif
} }
void Duration(const char* name, float64 duration) override RecorderProfiler m_recorderListener;
{
m_recorderProfiler.Add(name, duration);
}
RecorderProfiler m_recorderProfiler;
#if (PROFILE_JSON == 1) #if (PROFILE_JSON == 1)
JsonProfiler m_jsonListener; JsonProfiler m_jsonListener;