Timer.h

#pragma once
 
#include <windows.h>
 
 
typedef struct tag_FPSData{
	unsigned fps;
	unsigned skipFrame;
} FPSData;
 
////////////////////////////////////////////
// FPS調整クラス
////////////////////////////////////////////
class Timer {
 
public:
	Timer();
	~Timer();
 
	void resetTimer(); //タイマーのリセット
 
	void setFPS(unsigned fps); //FPS上限設定
 
	bool isElapsedFrame();	//1Fの単位時間を越えているか
	void wait();			//1Fの単位時間まで待つ
 
 
	FPSData getFPS();	//FPS情報を返す
 
private:
	unsigned m_fps; //設定FPS数、通常60
 
	bool m_isElapsedFrame; //フレームスキップするかどうか
	__int64 m_lastTime;		//前フレーム終了時間
	__int64 m_surplusTime;	//余剰時間
 
	__int64 m_maxWait;		//1F単位時間
 
	//フレームレート計測用
	unsigned m_skipCount;
	unsigned m_drawCount;
	unsigned m_drawFPS;
	unsigned m_drawSkip;
 
	DWORD m_lastCalc;
 
 
	UINT m_periodMin; //タイマの最小分解能、終了処理に必要
 
};

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2008年11月26日 07:28
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。