ticktimer.cpp

来自「RGA: Biowaste Game Example This C++ app」· C++ 代码 · 共 54 行

CPP
54
字号
#include "TickTimer.h"

CTickTimer::CTickTimer()
	{
	// get the Symbian Tick Counter rate
	// rate is: Ticks * rate = microseconds
	TTimeIntervalMicroSeconds32 rate = 0;
	UserHal::TickPeriod(rate);
	iRateInverse = (TReal64)rate.Int() / 1000000.0;
	iTickFrequency = rate.Int();
	if (iTickFrequency == 0)
		{
		iTickFrequency = 1;
		}
	
	iElapsedSeconds = 0.0;
	iStartTicks = 0;
	iEndTicks = 0;
	}

CTickTimer::~CTickTimer()
	{

	}

void CTickTimer::BeginTimer()
	{
	iStartTicks = User::TickCount();
	}


void CTickTimer::EndTimer()
	{
	iEndTicks = User::TickCount();

	if (iEndTicks == iStartTicks)
		{
		iElapsedSeconds = 0.001f;
		}
	else
		{
		TReal ticks = (TReal64)(iEndTicks - iStartTicks);
		iElapsedSeconds = (TReal64)(ticks * iRateInverse);
		
		// sanity check, if application running worst than 10fps
		// force frametime to 0.1
		if (iElapsedSeconds > 0.1)
			{
			iElapsedSeconds = 0.1;
			}
		}
	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?