ict.lixian.three/Assets/ZHY/FPS.cs

45 lines
1.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using UnityEngine;
/// <summary>
/// 打印FPS
/// </summary>
public class FPS : MonoBehaviour
{
float _updateInterval = 1f;//设定更新帧率的时间间隔为1秒
float _accum = .0f;//累积时间
int _frames = 0;//在_updateInterval时间内运行了多少帧
float _timeLeft;
string fpsFormat;
void Start()
{
_timeLeft = _updateInterval;
}
void OnGUI()
{
GUI.Label(new Rect(100, 100, 200, 200), fpsFormat);
}
void Update()
{
_timeLeft -= Time.deltaTime;
//Time.timeScale可以控制Update 和LateUpdate 的执行速度,
//Time.deltaTime是以秒计算完成最后一帧的时间
//相除即可得到相应的一帧所用的时间
_accum += Time.timeScale / Time.deltaTime;
++_frames;//帧数
if (_timeLeft <= 0)
{
float fps = _accum / _frames;
//Debug.Log(_accum + "__" + _frames);
fpsFormat = System.String.Format("{0:F2}FPS", fps);//保留两位小数
//Debug.LogError(fpsFormat);
_timeLeft = _updateInterval;
_accum = .0f;
_frames = 0;
}
}
}