#include "Profiler.h" Profiler gProfiler; //================================================================================================// /************ ** Slices ** ************/ //================================================================================================// Slice::Slice() { m_uiStartTime =0; m_uiEndTime =0; m_uiTotalFrameTicks =0; m_uiTotalTicks =0; m_uiCount =0; m_uiTotalCount =0; m_fDelta =0; m_fTotalFrameDelta =0; m_fTotalTime =0; m_fPercentage =0; } void Slice::StartCount() { m_uiStartTime = SDL_GetTicks(); } void Slice::EndCount() { m_uiCount++; m_uiTotalCount++; m_uiEndTime = (SDL_GetTicks() - m_uiStartTime); m_fDelta = (float)(m_uiEndTime) * 0.001f; if(m_uiEndTime<1) m_uiEndTime=1; m_uiTotalFrameTicks+=m_uiEndTime; m_fTotalFrameDelta+=m_fDelta; m_uiTotalTicks+=m_uiEndTime; m_fTotalTime+=m_fDelta; // printf("Slice: %s TickCount: %i \n",ID.c_str(),(int)GetTicks()); } void Slice::ResetCount() { m_uiCount =0; m_uiTotalFrameTicks =0; m_fTotalFrameDelta =0; m_fPercentage =0; } //================================================================================================// /************** ** Profiler ** **************/ //================================================================================================// Profiler::Profiler() { m_uiStartFrameTicks =0; m_uiEndFrameTicks =0; m_uiTotalTicks =0; m_SliceIter = m_Slices.begin(); } void Profiler::NewSlice(string slice) { Slice newSlice; newSlice.ID = slice; m_Slices.push_back(newSlice); // printf("New Slice: %s was created.\n",slice.c_str()); } void Profiler::StartSlice(string slice) { vector::iterator i; for(i=m_Slices.begin();i::iterator i; for(i=m_Slices.begin();i::iterator i; for(i=m_Slices.begin();i::iterator i; for(i=m_Slices.begin();i| Time: %.2f| Ticks: %i| Percent: %.2f| Count: %i|\n",slice.c_str(),time,ticks,percent,count); fs.write(sz,(int)strlen(sz)); } fs.close(); }