# Khaotic Engine Reborn: enginecustom/src/src/system/timer_class.cpp Source File

Loading...
Searching...
No Matches
timer_class.cpp
#include "timer_class.h"
timer_class::timer_class()
{
}
timer_class::timer_class(const timer_class& other)
{
}
timer_class::~timer_class()
{
}
bool timer_class::Initialize()
{
Logger::Get().Log("Initilazing timer class", __FILE__, __LINE__, Logger::LogLevel::Initialize);
INT64 frequency;
// Get the cycles per second speed for this system.
QueryPerformanceFrequency((LARGE_INTEGER*)&frequency);
if (frequency == 0)
{
Logger::Get().Log("QueryPerformanceFrequency failed", __FILE__, __LINE__, Logger::LogLevel::Error);
return false;
}
// Store it in floating point.
m_frequency = (float)frequency;
// Get the initial start time.
QueryPerformanceCounter((LARGE_INTEGER*)&m_startTime);
Logger::Get().Log("Timer class initialized", __FILE__, __LINE__, Logger::LogLevel::Initialize);
return true;
}
void timer_class::Frame()
{
INT64 currentTime;
INT64 elapsedTicks;
// Query the current time.
QueryPerformanceCounter((LARGE_INTEGER*)&currentTime);
// Calculate the difference in time since the last time we queried for the current time.
elapsedTicks = currentTime - m_startTime;
// Calculate the frame time.
m_frameTime = (float)elapsedTicks / m_frequency;
// Restart the timer.
m_startTime = currentTime;
return;
}
float timer_class::GetTime()
{
return m_frameTime;
}
timer_class
Definition timer_class.h:16