FPSTester.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using UnityEngine;
  2. using System.Collections;
  3. using DG.Tweening;
  4. public class FPSTester : MonoBehaviour
  5. {
  6. private float m_LastUpdateShowTime=0f; //上一次更新帧率的时间;
  7. private float m_UpdateShowDeltaTime=1f;//更新帧率的时间间隔;
  8. private int m_FrameUpdate=0;//帧数;
  9. private float m_FPS=0;
  10. void Awake()
  11. {
  12. //Application.targetFrameRate=-1;
  13. }
  14. // Use this for initialization
  15. void Start ()
  16. {
  17. m_LastUpdateShowTime=Time.realtimeSinceStartup;
  18. }
  19. // Update is called once per frame
  20. void Update ()
  21. {
  22. m_FrameUpdate++;
  23. if(Time.realtimeSinceStartup-m_LastUpdateShowTime>=m_UpdateShowDeltaTime)
  24. {
  25. m_FPS=m_FrameUpdate/(Time.realtimeSinceStartup-m_LastUpdateShowTime);
  26. m_FrameUpdate=0;
  27. m_LastUpdateShowTime=Time.realtimeSinceStartup;
  28. }
  29. }
  30. void OnGUI()
  31. {
  32. GUIStyle labelFont = new GUIStyle();
  33. labelFont.normal.textColor = new Color(1, 0.6f, 0.6f);
  34. labelFont.fontSize = Mathf.CeilToInt(Screen.height * 0.05f);
  35. GUI.Label(new Rect(Screen.width/100,Screen.height/100,100,100),"FPS: "+m_FPS, labelFont);
  36. }
  37. }