📄 timer.h
字号:
#pragma once
// a very precise time class, use CPU core frequency to measure tick
class CMediaTimer
{
public:
CMediaTimer()
{
m_bInitialized = QueryPerformanceFrequency( (LARGE_INTEGER *)&m_lnFrequency );
m_lnStartTime = 0;
m_bTimerStarted = false;
}
// start timer
void Start()
{
if( m_bInitialized && QueryPerformanceCounter( (LARGE_INTEGER *)&m_lnStartTime ) )
{
m_bTimerStarted = true;
}
return ;
}
// stop timer and return time
double Stop()
{
if( !m_bTimerStarted )
return 0.0;
unsigned __int64 lnEndTime, lnElapsedTime;
if( QueryPerformanceCounter( (LARGE_INTEGER *)&lnEndTime ) )
{
lnElapsedTime = lnEndTime - m_lnStartTime;
}
else
{
lnElapsedTime = 0;
}
// give a millisecond precision
return ( (double)lnElapsedTime / (double)m_lnFrequency * 1000.0 );
}
private:
BOOL m_bInitialized;
bool m_bTimerStarted;
unsigned __int64 m_lnFrequency;
unsigned __int64 m_lnStartTime;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -