54 lines
1.1 KiB
C#
54 lines
1.1 KiB
C#
using System;
|
|
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
namespace Tenkoku.Demo
|
|
{
|
|
public class ui_devFPS : MonoBehaviour
|
|
{
|
|
|
|
public UnityEngine.UI.Text textObj_fps;
|
|
public bool showFPS = true;
|
|
|
|
private float updateInterval = 0.5f;
|
|
private float accum = 0.0f; // FPS accumulated over the interval
|
|
private float frames = 0f; // Frames drawn over the interval
|
|
private float timeleft; // Left time for current interval
|
|
|
|
|
|
void Start () {
|
|
InvokeRepeating("SetType",0.1f,0.5f);
|
|
}
|
|
|
|
void LateUpdate () {
|
|
|
|
// CALCULATE FPS
|
|
if (showFPS){
|
|
timeleft -= UnityEngine.Time.deltaTime;
|
|
accum += UnityEngine.Time.timeScale/UnityEngine.Time.deltaTime;
|
|
++frames;
|
|
|
|
|
|
// Interval ended - update GUI text and start new interval
|
|
if( timeleft <= 0.0f )
|
|
{
|
|
// display two fractional digits (f2 format)
|
|
timeleft = updateInterval;
|
|
accum = 0.0f;
|
|
frames = 0f;
|
|
}
|
|
} else {
|
|
textObj_fps.text = "";
|
|
}
|
|
|
|
}
|
|
|
|
|
|
void SetType(){
|
|
if (textObj_fps != null && accum > 0f && frames > 0f){
|
|
textObj_fps.text = "FPS: "+(accum/frames).ToString("f0");
|
|
}
|
|
}
|
|
|
|
}
|
|
} |