52 lines
1.4 KiB
C#
52 lines
1.4 KiB
C#
![]() |
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
namespace Polyart
|
||
|
{
|
||
|
public class FPS_Counter : 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);
|
||
|
}
|
||
|
}
|
||
|
}
|