Contador de FPS de Unity
En videojuegos, los cuadros por segundo (o fps para abreviar) es un valor que representa la cantidad de cuadros que la computadora procesa en un segundo.
Los cuadros por segundo son un excelente indicador de rendimiento y se pueden usar durante el proceso de optimización, o simplemente para obtener comentarios sobre qué tan rápido/ Suaviza el juego.
En este tutorial, mostraré cómo agregar un contador de fps simple a su juego en Unity.
Pasos
Para mostrar los fps en el juego, necesitaremos crear un script que cuente los fotogramas y los muestre en la pantalla.
- Crea un nuevo script, llámalo "SC_FPSCounter" y pega el siguiente código dentro de él:
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);
}
}
- Adjunte el script SC_FPSCounter a cualquier objeto en la Escena y presione Reproducir:
Fps ahora debería mostrarse en la esquina superior izquierda.