using UnityEngine;
using System.Collections;
[System.Reflection.Obfuscation(Exclude = true)]
public class DebugScreen : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
UpdateTick();
}
void OnGUI()
{
DrawFps();
}
private void DrawFps()
{
if (mLastFps > 50)
{
GUI.color = new Color(0, 1, 0);
}
else if (mLastFps > 40)
{
GUI.color = new Color(1, 1, 0);
}
else
{
GUI.color = new Color(1.0f, 0, 0);
}
GUI.Label(new Rect(50, 32, 64, 24), "fps: " + mLastFps);
}
private long mFrameCount = 0;
private long mLastFrameTime = 0;
static long mLastFps = 0;
private void UpdateTick()
{
if (true)
{
mFrameCount++;
long nCurTime = TickToMilliSec(System.DateTime.Now.Ticks);
if (mLastFrameTime == 0)
{
mLastFrameTime = TickToMilliSec(System.DateTime.Now.Ticks);
}
if ((nCurTime - mLastFrameTime) >= 1000)
{
long fps = (long)(mFrameCount * 1.0f / ((nCurTime - mLastFrameTime) / 1000.0f));
mLastFps = fps;
mFrameCount = 0;
mLastFrameTime = nCurTime;
}
}
}
public static long TickToMilliSec(long tick)
{
return tick / (10 * 1000);
}
}
原文地址:http://blog.csdn.net/canglang_123/article/details/41478181