一:什么是帧数
帧数就是在1秒钟时间里传输图片的数量,通常用FPS(Frames Per Second)表示
每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象,高的帧率可以得到更流畅、更逼真的动画,所以每秒钟帧数越多,画面也会更加流畅
在PC端,FPS越高越好,FPS越高游戏越流畅,当然太高也没有必要。不过在手机平台上,游戏帧数跑高了,CPU和GPU负荷相应则会增大导致发热。一般帧数为60帧就足够稳定了
二:Unity中锁帧
Unity中提供了锁帧的方法:
Application.targetFrameRate = 60;
三:获取帧数
注意Application.targetFrameRate获取到的是你设置的帧数,而不是真实的帧数,想要获取到真实的帧数需要自己计算:
using UnityEngine;public class ShowFPS : MonoBehaviour
{private int frame;//帧数private float timer = 0;//计时器public float updateTimeval;//更新帧数的时间间隔private void Update(){if (timer >= updateTimeval){frame = (int)(Time.timeScale / Time.deltaTime);timer = 0;}else{timer += Time.deltaTime;}}private void OnGUI(){GUIStyle style = new GUIStyle();style.fontSize = 20;style.normal.textColor = Color.black;GUI.Label(new Rect(Screen.width / 2, 100, 0, 0), "FPS:" + frame, style);}
}