유니티 FPS 카운터

비디오 게임에서 초당 프레임(또는 줄여서 fps)은 컴퓨터가 1초에 렌더링하는 프레임 수를 나타내는 값입니다.

초당 프레임은 성능을 나타내는 훌륭한 지표이며 최적화 프로세스 중에 사용하거나 단순히 게임이 얼마나 빠르고/부드럽게 실행되는지에 대한 피드백을 얻는 데 사용할 수 있습니다.

이 튜토리얼에서는 Unity에서 게임에 간단한 fps 카운터를 추가하는 방법을 보여 드리겠습니다.

단계

game에서 fps를 표시하려면 프레임 수를 계산하여 화면에 표시하는 스크립트를 만들어야 합니다.

  • 새 스크립트를 만들고 이름을 "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);
    }
}

초당 프레임

이제 Fps가 왼쪽 상단에 표시됩니다.