当前位置: 代码迷 >> 综合 >> Unity中的帧数
  详细解决方案

Unity中的帧数

热度:41   发布时间:2024-02-09 03:29:08.0

一:什么是帧数

帧数就是在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);}
}