37 lines
864 B
C#
37 lines
864 B
C#
|
using UnityEngine;
|
||
|
|
||
|
namespace Mirror.Examples.Common
|
||
|
{
|
||
|
public class FPS : MonoBehaviour
|
||
|
{
|
||
|
// fps accessible to the outside
|
||
|
public int framesPerSecond { get; private set; }
|
||
|
|
||
|
// configuration
|
||
|
public bool showGUI = true;
|
||
|
public bool showLog = false;
|
||
|
|
||
|
// helpers
|
||
|
int count;
|
||
|
double startTime;
|
||
|
|
||
|
protected void Update()
|
||
|
{
|
||
|
++count;
|
||
|
if (Time.time >= startTime + 1)
|
||
|
{
|
||
|
framesPerSecond = count;
|
||
|
startTime = Time.time;
|
||
|
count = 0;
|
||
|
if (showLog) Debug.Log($"FPS: {framesPerSecond}");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
protected void OnGUI()
|
||
|
{
|
||
|
if (!showGUI) return;
|
||
|
|
||
|
GUI.Label(new Rect(Screen.width - 70, 0, 70, 25), $"FPS: {framesPerSecond}");
|
||
|
}
|
||
|
}
|
||
|
}
|