背景

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;


	}
}