Files
Leviathan/Server/GameServer/SchedulingPerformanceTracker.h
T
2026-06-01 12:46:52 +02:00

44 lines
891 B
C++

#pragma once
class SchedulingPerformanceHelper
{
public:
SchedulingPerformanceHelper()
{
m_startTime.QuadPart = 0;
m_endTime.QuadPart = 0;
}
void start();
void end();
__int64 getElapsedTicks() const;
private:
LARGE_INTEGER m_startTime;
LARGE_INTEGER m_endTime;
};
class SchedulingPerformanceTracker
{
public:
SchedulingPerformanceTracker()
{
m_count = 0;
m_totalTicks = 0;
m_totalTime = 0;
LARGE_INTEGER li;
QueryPerformanceFrequency( &li );
m_freq = li.QuadPart;
}
void addUpThisResult( const SchedulingPerformanceHelper& _helper );
__int64 m_freq;
volatile unsigned int m_count;
volatile unsigned __int64 m_totalTicks;
volatile unsigned int m_totalTime;
};
extern SchedulingPerformanceTracker g_MonsterPerformanceTracker;
extern SchedulingPerformanceTracker g_PlayerPerformanceTracker;
extern SchedulingPerformanceTracker g_SummonPerformanceTracker;