首先帧率是什么?
游戏单位时间内刷新的次数,一般越高越好,30fps视为流畅。
其中的f就是英文单词Frame(画面、帧),p就是Per(每),s就是Second(秒)。
那,在Unity3d里。如何去计算帧率呢?
帧率=固定时间的帧数/固定时间
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
//需要把这个脚本拖放到一个UI物体上哦
[RequireComponent(typeof(Text))]//需要有Text组件
public class Test : MonoBehaviour {
const float fpsMeasurePeriod = 0.5f;//固定时间为0.5s
private int m_FpsAccumulator = 0;
private float m_FpsNextPeriod = 0;
private int m_CurrentFps;
const string display = "{0} FPS";//输出格式
private Text mText;
private void Start()
{
//Time.realtimeSinceStartup 游戏开始的真实时间
m_FpsNextPeriod = Time.realtimeSinceStartup + fpsMeasurePeriod;//下一次刷新时间
mText=this.GetComponent<Text>();
}
private void