gltimer.cpp

来自「实战粒子系统例程」· C++ 代码 · 共 51 行

CPP
51
字号
/*
	gltimer.cpp - Timer handle
	Copyright (c) HalfLucifer, 2001.7.19
*/
/*	
    Modified: 2002.2.25 
*/
#include "gltimer.h"

GLtimer::GLtimer()
{
	m_FrameTime = m_DeltaTime = m_Fps = 0.0f;
	m_Frames = 0;

	LARGE_INTEGER frequency;
	if (QueryPerformanceFrequency(&frequency))
	{
		m_PCounter = true;
		m_Resolution = (float) (1.0f / (double) frequency.QuadPart);
	}
	else
	{
		m_PCounter = false;
		m_Resolution = 0.001f;
	}
}

void GLtimer::Update(void)
{
	if (m_PCounter)
	{
		QueryPerformanceCounter(&m_QPCount);
		m_FrameTime = m_QPCount.QuadPart * m_Resolution;
	}
	else
	{
		m_GTCount = GetTickCount();
		m_FrameTime = m_GTCount * m_Resolution;
	}

	++m_Frames;
	m_DeltaTime = m_FrameTime - m_OldTime;

    if (m_DeltaTime >= FPS_INTERVAL)
	{
		m_Fps = m_Frames / (m_FrameTime - m_OldTime);
		m_OldTime = m_FrameTime;
		m_Frames  = 0;
	}
}

⌨️ 快捷键说明

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