美文网首页
一。实时侦测帧数

一。实时侦测帧数

作者: 熬夜Plus | 来源:发表于2018-10-13 13:45 被阅读0次

    通过每0.5秒测量帧数(Update执行的次数),再相除并取整,得到每半秒更新一次的fps值。

    不需要使用协程,现将代码粘贴如下。

    public class FPSCounter : MonoBehaviour

        {

            const float fpsMeasurePeriod = 0.5f;      

    //测量周期

            private int m_FpsAccumulator = 0;        

    //累加器

            private float m_FpsNextPeriod = 0;    
    //下一次测量的时间

            private int m_CurrentFps;                

    //当前的fps

            const string display = "{0} FPS";

            private Text m_Text;

            private void Start()

            {

                m_FpsNextPeriod = Time.realtimeSinceStartup + fpsMeasurePeriod;

                m_Text = GetComponent<Text>();

            }

            private void Update()

            {

    // 测量每秒的平均帧数

                m_FpsAccumulator++;

    //游戏开始到现在的实时时间和下一次测量的标准时间做比较

                if (Time.realtimeSinceStartup > m_FpsNextPeriod)

                {

                    m_CurrentFps = (int) (m_FpsAccumulator/fpsMeasurePeriod);

    //if成立时的积累了的帧数除以0.5,强制为整数

                    m_FpsAccumulator = 0;

    //重置帧数计数器

                    m_FpsNextPeriod += fpsMeasurePeriod;                      

    //下一个if将在0.5秒后成立

                    m_Text.text = string.Format(display, m_CurrentFps);       

    //更新text组件

                }

            }

        }

    相关文章

      网友评论

          本文标题:一。实时侦测帧数

          本文链接:https://www.haomeiwen.com/subject/zssoaftx.html