מונה FPS של Unity

במשחקי וידאו, פריימים לשנייה (או בקיצור fps) הוא ערך המייצג את מספר הפריימים שהמחשב מעבד בשנייה אחת.

פריימים לשנייה הוא אינדיקטור מצוין לביצועים וניתן להשתמש בו במהלך תהליך האופטימיזציה, או פשוט כדי לקבל משוב על כמה מהר/חלק המשחק פועל.

במדריך זה, אני אראה כיצד להוסיף מונה fps פשוט למשחק שלך ב-Unity.

שלבים

כדי להציג תמונות לשנייה במשחק, נצטרך ליצור סקריפט שיספור פריימים ויציג אותם על המסך.

  • צור סקריפט חדש, קרא לו "SC_FPSCounter" והדבק בתוכו את הקוד למטה:

SC_FPSCounter.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SC_FPSCounter : MonoBehaviour
{
    /* Assign this script to any object in the Scene to display frames per second */

    public float updateInterval = 0.5f; //How often should the number update

    float accum = 0.0f;
    int frames = 0;
    float timeleft;
    float fps;

    GUIStyle textStyle = new GUIStyle();

    // Use this for initialization
    void Start()
    {
        timeleft = updateInterval;

        textStyle.fontStyle = FontStyle.Bold;
        textStyle.normal.textColor = Color.white;
    }

    // Update is called once per frame
    void Update()
    {
        timeleft -= Time.deltaTime;
        accum += Time.timeScale / Time.deltaTime;
        ++frames;

        // Interval ended - update GUI text and start new interval
        if (timeleft <= 0.0)
        {
            // display two fractional digits (f2 format)
            fps = (accum / frames);
            timeleft = updateInterval;
            accum = 0.0f;
            frames = 0;
        }
    }

    void OnGUI()
    {
        //Display the fps and round to 2 decimals
        GUI.Label(new Rect(5, 5, 100, 25), fps.ToString("F2") + "FPS", textStyle);
    }
}
  • צרף את הסקריפט SC_FPSCounter לכל אובייקט בסצנה והקש על הפעל:

פריימים לשניה

Fps אמור להיות מוצג כעת בפינה השמאלית העליונה.