Unity FPS帧率计算
原理
FPS 是一段时间内的平均值。平均 FPS = 帧数 / 一段时长。帧数可以用每次进入 Update 时加一的变量来统计。一段时长就是进入 Update 时 Time.deltaTime 的累加因为是平均值,所以当时间越长时,这个值才是稳定的。
public class ShowFpsInfo : MonoBehaviour {
public float showTime = 1f;
public Text tvFpsInfo;
private int count = 0;
private float deltaTime = 0f;
// Update is called once per frame
void Update () {
count++;
deltaTime += Time.deltaTime;
if (deltaTime >= showTime) {
float fps = count / deltaTime;
float milliSecond = deltaTime * 1000 / count;
string strFpsInfo = string.Format(" 当前每帧渲染间隔:{0:0.0} ms ({1:0.} 帧每秒)", milliSecond, fps);
tvFpsInfo.text = strFpsInfo;
count = 0;
deltaTime = 0f;
}
}
}