using System; using System.Collections.Generic; using System.Text; using UnityEngine;
public class EFPS : MonoBehaviour { private float mUpdateTime = 0.5f; private float mStartTimer; private float mFPS; private int mFrames; private GUIStyle mStyle;
void Start()
{
mStyle = new GUIStyle();
Application.targetFrameRate = 300;
mStartTimer = Time.realtimeSinceStartup;
mFrames = 0;
mStyle.fontSize = 20;
mStyle.normal.textColor = new Color(0, 255, 0, 255);
}
void OnGUI()
{
GUI.Label(new Rect(20, 20, 200, 200), "FPS:" + mFPS.ToString("f2"), mStyle);
}
void Update()
{
mFrames++;
if (Time.realtimeSinceStartup > mStartTimer+mUpdateTime)
{
mFPS = mFrames / (Time.realtimeSinceStartup - mStartTimer);
mFrames = 0;
mStartTimer = Time.realtimeSinceStartup;
}
}}
[SerializeField] public bool UseFPS; public void TryShowFPS() { if (UseFPS) { GameObject go = new GameObject(“FPS”); go.AddComponent(); go.transform.parent = transform; } }