📄 cfpscounter.cpp
字号:
/*
============================================================================
* Name : CFpsCounter.cpp
* Part of : Example3D
* Description : Definition of CFpsCounter
* Copyright (c) 2007 Nokia Corporation
============================================================================
*/
// INCLUDES
#include "CFpsCounter.h"
#include <hal.h>
// MEMBER FUNCTIONS
CFpsCounter* CFpsCounter::NewL( TInt aInterval )
{
CFpsCounter* self = new( ELeave )CFpsCounter( aInterval );
return self;
}
CFpsCounter::CFpsCounter( TInt aInterval )
{
HAL::Get( HALData::ESystemTickPeriod, iTicksPerSecond );
iTicksPerSecond = 1000000 / iTicksPerSecond;
SetInterval( aInterval );
iFrames = 0;
iSeconds=0;
iStartTicks = User::TickCount();
}
CFpsCounter::~CFpsCounter()
{
}
int CFpsCounter::Fps()
{
return iFps;
}
void CFpsCounter::SetInterval( TInt aInterval )
{
iSecs = aInterval;
iInterval = ( iTicksPerSecond * aInterval );
}
void CFpsCounter::Update()
{
TInt cticks = User::TickCount();
iFrames++;
if ( ( cticks - iStartTicks ) > iInterval )
{
TInt dif = cticks - iStartTicks;
iFps = ( ( iFrames * ( iTicksPerSecond ) ) / dif );
iFrames = 0;
iSeconds += iSecs;
iStartTicks = User::TickCount();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -