Bomberman-OverlordEngine-x64 / OverlordEngine / Base / GameStats.h
GameStats.h
Raw
#pragma once
#include <chrono>
#include <deque>

class GameStats final
{
public:
	static void BeginFrame();
	static void EndFrame();
	static void Reset();
	static const PerfStats& GetStats() { return m_Stats; }

private:
	static bool m_IsMeasuring;
	static bool m_ResetPending;
	static bool m_InterimUpdated;
	static std::chrono::time_point<std::chrono::steady_clock> m_FrameStart;
	static std::chrono::time_point<std::chrono::steady_clock> m_InterimStart;
	static int m_FrameTimingCount;
	static float m_InterimDelay;
	static std::deque<float> m_FrameMsTimings;

	static PerfStats m_Stats;
};