using System;
|
|
using UnityEngine;
|
|
|
|
namespace UnityStandardAssets.Utility
|
|
{
|
|
[RequireComponent(typeof (GUIText))]
|
|
public class FPSCounter : MonoBehaviour
|
|
{
|
|
const float fpsMeasurePeriod = 0.5f;
|
|
private int m_FpsAccumulator = 0;
|
|
private float m_FpsNextPeriod = 0;
|
|
private int m_CurrentFps;
|
|
const string display = "{0} FPS";
|
|
private GUIText m_GuiText;
|
|
|
|
|
|
private void Start()
|
|
{
|
|
m_FpsNextPeriod = Time.realtimeSinceStartup + fpsMeasurePeriod;
|
|
m_GuiText = GetComponent<GUIText>();
|
|
}
|
|
|
|
|
|
private void Update()
|
|
{
|
|
// measure average frames per second
|
|
m_FpsAccumulator++;
|
|
if (Time.realtimeSinceStartup > m_FpsNextPeriod)
|
|
{
|
|
m_CurrentFps = (int) (m_FpsAccumulator/fpsMeasurePeriod);
|
|
m_FpsAccumulator = 0;
|
|
m_FpsNextPeriod += fpsMeasurePeriod;
|
|
m_GuiText.text = string.Format(display, m_CurrentFps);
|
|
}
|
|
}
|
|
}
|
|
}
|