背景
Unity 编辑器自带的 Stats 面板可以实时查看帧率,但打包运行后就看不到了。因此在正式运行环境下,我们需要自己在游戏里显示 FPS。
计算原理
FPS 的计算方式非常简单:
FPS = 1 / 当前帧所花时间
实现步骤
- 在编辑器中新建一个 UI.Text 控件(命名为
text_fps)。 - 挂载下面这个 C# 脚本,用于每帧更新 FPS 数值。
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class fpsScript : MonoBehaviour {
public float m_time;
public Text text;
public float delay=0.0f;
public int m_count=0;
// Use this for initialization
void Start () {
Application.targetFrameRate=-1;//set fps of render -1 is max
m_time = 0.0f;
text= GameObject.Find ("text_fps") .GetComponent<Text>();
}
// Update is called once per frame
void Update () {
m_count++;
if (m_count > 60) {
text.text = "FPS:"+ ((int)(1 / delay)).ToString ();
m_count=0;
}
delay = Time.realtimeSinceStartup - m_time;
m_time = Time.realtimeSinceStartup;
}
}