Unity 3 D-計算フレームレートFPS
ネット上にはFPSを計算する方法がたくさんありますが、一般的には100%正確なフレームレートに達していません.実際のフレームレートに近い計算方法しかありません.
以下は、本人が複数の方法をテストした後、実際のフレームレートに近いと思う計算方法です.
以下は、本人が複数の方法をテストした後、実際のフレームレートに近いと思う計算方法です.
public class FPS : MonoBehaviour
{
[SerializeField]
private Text showFPSText;
private float fpsByDeltatime = 1.5f;
private float passedTime = 0.0f;
private int frameCount = 0;
private float realtimeFPS = 0.0f;
void Start()
{
SetFPS();
}
void Update()
{
GetFPS();
}
private void SetFPS()
{
// QualitySettings.vSyncCount , 。
// 60
Application.targetFrameRate = 60;
}
private void GetFPS()
{
if (showFPSText == null) return;
// FPS
//float fps = 1.0f / Time.smoothDeltaTime;
//showFPSText.text = "FPS: " + fps.ToString();
//
frameCount++;
passedTime += Time.deltaTime;
if(passedTime >= fpsByDeltatime)
{
realtimeFPS = frameCount / passedTime;
showFPSText.text = "FPS: " + realtimeFPS.ToString("f1");
passedTime = 0.0f;
frameCount = 0;
}
}
}