Лічильник Unity 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 тепер має відображатися у верхньому лівому куті.