The following script will help you to show FPS in scene:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FBSManager : MonoBehaviour
{
public int rangeInt;
public float updateInterval = 0.5F;
private float accum = 0;
private int frames = 0;
private float timeleft;
private string stringFps;
void Start()
{
timeleft = updateInterval;
Application.targetFrameRate = 30;
}
void Update()
{
timeleft -= Time.deltaTime;
accum += Time.timeScale / Time.deltaTime;
++frames;
if (timeleft <= 0.0)
{
float fps = accum / frames;
string format = System.String.Format("{0:F2} FPS", fps);
stringFps = format;
timeleft = updateInterval;
accum = 0.0F;
frames = 0;
}
}
void OnGUI()
{
GUIStyle guiStyle = GUIStyle.none;
guiStyle.fontSize = 30;
guiStyle.normal.textColor = Color.red;
guiStyle.alignment = TextAnchor.UpperLeft;
Rect rt = new Rect(50, 50, 100, 100);
GUI.Label(rt, stringFps, guiStyle);
}
}
How to use?
If you have a GameManager
in your scene, add the above script as a component to it. Or you can attach this script to the camera. One example:
