Home | Lesson | Game | Tool | Link

B04.FPS表示

FPSを表示して、現在実行中のゲームの処理速度を知ります。


フォント設定
画面にも表示するために、フォントを用意します。
	//フォント設定
	IGUIEnvironment *Env = device->getGUIEnvironment(); 
	IGUIFont* Font;
	Font = Env->getFont("font.bmp");

FPS取得/表示
FPSを取得/表示します。
画面とウインドウキャプションの2箇所に表示します。
キャプションを変更する場合は、endSceneの後に記述してください。
	wchar_t tmp[32] = L"";
	int fps, lastFPS  = -1;

	while(device->run())
	{
		driver->beginScene(true,true,0xFF6060FF);

		Font->draw(tmp,rect(16,16,0,0),0xFFFFFFFF); 

		//シーンの描画
		smgr->drawAll();

		driver->endScene();

		//FPS取得/表示
		fps = driver->getFPS();
		if(lastFPS != fps)
		{
			swprintf(tmp, 32, L"Irrlicht fps:%d", fps);
			device->setWindowCaption(tmp);
			lastFPS = fps;
		}
	}


FPSとは
Frame Per Secondの略です。
1秒間に何枚の画像を表示しているかを示します。
60FPS出れば普通にゲームが可能です。
大抵のコンシューマゲームは60FPSで起動するようになっています。

もし、動作が重くなって操作に支障が出る場合などは、
FPSを表示することで、処理に時間がかかってる場面を知ることができます。

ダウンロード
今回作成したファイル一式です。

宿題
1.通常は白、FPSが100を下回ったら赤色で、300以上は青で表示してみましょう。