FPSの計測

みんなが作った便利な関数やサンプルを共有するコミュニティです。
[url]http://www.activebasic.com/forum/viewforum.php?f=2]ActiveBasicの「実践コードモジュール」[/url]的な感じでやりましょう。
フォーラム(掲示板)ルール
・投稿するコードはできるだけ一つ、もしくは一つの関数を補助する複数の関数の形式にするか、
それだけをコンパイルして動くソースコード一式の形にしてください。
記事には説明だけを書き、コードは添付ファイルにしてもかまいません。
・使い方などの説明も書いてください。
環境に依存するコードの場合は、対象の環境も書いてください。
・使用条件(ライセンスなど)も書いていただけるとありがたいです。
・C言語、もしくはC++推奨ですが、他の言語でもかまいません。
・コードは正しくcodeタグで囲みましょう。
・一つのスレッドで一つのサンプルが基本です。
関連するサンプルの場合はまとめてもかまいません。
・投稿したサンプルを修正する場合には、スレッドの返信の形で投稿してください。
(新しいスレッドにしないでください。記事の編集でもかまいません)
返信
アバター
みけCAT
記事: 6150
登録日時: 8年前
住所: 千葉県
連絡を取る:

FPSの計測

#1

投稿記事 by みけCAT » 5年前

FPSを計測します。
GetNowCountを他のミリ秒単位で時間を計測する関数に置き換えれば、
DXライブラリに依存せずに使用できるはずです。

「60フレームの処理にかかった時間を計測する」方式と「1秒で処理したフレーム数を計測する」方式のいいところを取り、
「1秒以上たったらそこまでのフレームにかかった時間を計測する」という処理にすることで、
小数点以下の計測と処理落ちしてもあまり更新頻度を下げないことを両立しました。

使用自由。

コード:

#include <DxLib.h>

double calcFPS(void) {
	static double fps=0;
	static int prevTime=0;
	static int frameCount=0;
	int nowTime=GetNowCount();
	frameCount++;
	if(prevTime+1000<nowTime) {
		fps=frameCount*1000.0/(nowTime-prevTime);
		prevTime=nowTime;
		frameCount=0;
	}
	return fps;
}
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

返信

“サンプルを共有するコミュニティ” へ戻る