|
|
- using System;
- using UnityEngine;
- using UnityEngine.UI;
-
- namespace FogVolumeUtils.FPSCounter
- {
- [RequireComponent(typeof(Text))]
- 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 Text m_Text;
-
-
- private void Start()
- {
- m_FpsNextPeriod = Time.realtimeSinceStartup + fpsMeasurePeriod;
- m_Text = GetComponent<Text>();
- }
-
-
- 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_Text.text = string.Format(display, m_CurrentFps);
- }
- }
- }
- }
|