仕様
・毎秒間隔でフレームレートを計算
・Unity側でもいじれる様にする(初期値は0.5秒)
・左上にonGUIで小さく表示
・基本デバッグ用として表示させるだけだから雑に書く
public float updateInterval = 0.5f;
GUIStyle style = new GUIStyle();
int frameCount;
float elapsedTime;
double frameRate;
void Start(){
style.fontStyle = FontStyle.Bold;
style.normal.textColor = Color.white;
style.fontSize = 24;
}
void Update(){
frameCount++;
elapsedTime += Time.deltaTime;
if (elapsedTime > updateInterval){
frameRate = System.Math.Round(frameCount / elapsedTime, 1, System.MidpointRounding.AwayFromZero);
frameCount = 0;
elapsedTime = 0;
}
}
void OnGUI(){
GUI.Label(new Rect(20, 20, 60, 24), frameRate.ToString("F1") + " FPS", style);
}
あとは空のGameObjectを生成してスクリプトを紐付ける。
さいごに
簡単に仕上げたからFPSだけになったけど、平均フレームレートも出しても良いかも。また次回作る。