Contador FPS Unity
Em videogames, quadros por segundo (ou fps para abreviar) é um valor que representa o número de quadros que o computador renderiza em um segundo.
Frames-per-second é um ótimo indicador de desempenho e pode ser usado durante a otimização, ou simplesmente para obter feedback sobre a velocidade/suavidade do jogo.
Neste tutorial, mostrarei como adicionar um simples contador de fps ao seu jogo em Unity.
Passos
Para mostrar fps no jogo, precisaremos criar um script que contará frames e os mostrará na tela.
- Crie um novo script, chame-o de "SC_FPSCounter" e cole o código abaixo dentro dele:
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);
}
}
- Anexe o script SC_FPSCounter a qualquer objeto na cena e pressione Play:
Fps agora deve ser exibido no canto superior esquerdo.