天天看點

Unity中的幀數

一:什麼是幀數

幀數就是在1秒鐘時間裡傳輸圖檔的數量,通常用FPS(Frames Per Second)表示

每一幀都是靜止的圖象,快速連續地顯示幀便形成了運動的假象,高的幀率可以得到更流暢、更逼真的動畫,是以每秒鐘幀數越多,畫面也會更加流暢

在PC端,FPS越高越好,FPS越高遊戲越流暢,當然太高也沒有必要。不過在手機平台上,遊戲幀數跑高了,CPU和GPU負荷相應則會增大導緻發熱。一般幀數為60幀就足夠穩定了

二:Unity中的鎖幀

Application.targetFrameRate = 60;           

三:擷取幀數

using UnityEngine;

public class ShowFPS : MonoBehaviour
{
    float updateFpsInterval = 1;//更新幀率的間隔
    float fpsCounter;//fps計數器
    float updateFpsTimer;//更新幀率計時器
    float FPS;//幀率

    private void Update()
    {
        fpsCounter++;
        updateFpsTimer += Time.deltaTime;
        if (updateFpsTimer >= updateFpsInterval)
        {
            FPS = fpsCounter / updateFpsTimer;
            updateFpsTimer = 0;
            fpsCounter = 0;
        }
    }

    private void OnGUI()
    {
        GUIStyle style = new GUIStyle();
        style.fontSize = 50;
        GUILayout.Label(FPS.ToString("f1"), style);
    }
}           

繼續閱讀