123456789101112131415161718192021222324252627282930313233343536 |
- using UnityEngine;
- using UnityEngine.UI;
- namespace HQFPSWeapons.UserInterface
- {
- [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);
- }
- }
- }
- }
|