Unity FPS-räknare
I videospel är bildrutor per sekund (eller fps för kort) ett värde som representerar antalet bildrutor som datorn renderar på en sekund.
Bildrutor per sekund är en bra indikator på prestanda och kan användas under optimeringsprocessen, eller helt enkelt för att få feedback om hur snabbt/smidigt spelet går.
I den här handledningen kommer jag att visa hur du lägger till en enkel fps-räknare till ditt spel i Unity.
Steg
För att visa fps i spelet måste vi skapa ett skript som räknar bildrutor och visar dem på skärmen.
- Skapa ett nytt skript, kalla det "SC_FPSCounter" och klistra in koden nedan i det:
SC_FPPSCounter.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);
}
}
- Bifoga SC_FPSCounter-skriptet till valfritt objekt i scenen och tryck på Play:
Fps ska nu visas i det övre vänstra hörnet.