• GJM :FPSCalc-简单FPS观测类 [转载]


    利用Unity做的手游项目很多时候要保证流畅度,流畅度最直观的表现就是帧率FPS。Unity编辑器模式下的帧率观测几乎没有意义,所以还是自己实现的好。

    这里给一个前人写的类,我几乎原封不动,该类只有一个对外设置显示和隐藏的接口,并没有提供其他多余操作。

    复制代码
    using UnityEngine;
    using System.Collections;
    
    /// <summary>
    /// FPS calculate.
    /// </summary>
    public class FPSCalc : MonoSingleton<FPSCalc>
    {
        public bool ShowFPS = false;
    
        public float updateInterval = 0.1f;
        private float lastInterval;
        private int frames = 0;
        private float fps;
    
    
        public void SetVisible(bool visible)
        {
            if (instance.ShowFPS != visible)
            {
                instance.ShowFPS = visible;
            }
        }
    
        void Start()
        {
            lastInterval = Time.realtimeSinceStartup;
            frames = 0;
        }
    
        void OnGUI()
        {
            if (ShowFPS)
            {
                if (fps > 30f)
                    GUI.color = Color.green;
                else if (fps > 15f)
                    GUI.color = Color.yellow;
                else
                    GUI.color = Color.red;
    
                GUILayout.Label(fps.ToString("f0"));
            }
        }
    
        void Update()
        {
            if (ShowFPS)
            {
                ++frames;
                float timeNow = Time.realtimeSinceStartup;
                if (timeNow > lastInterval + updateInterval)
                {
                    fps = (float)frames / (timeNow - lastInterval);
                    frames = 0;
                    lastInterval = timeNow;
                }
            }
        }
    }
    复制代码
     
  • 相关阅读:
    g_pLog
    win-socket
    时间转字符串 各种格式
    linux自启动脚本.sh
    openssl之aes对称加密
    openssl生成密钥/证书
    win10下安装openssl
    GUI的最终选择 Tkinter(二):Label和Button组件
    GUI的最终选择 Tkinter(一):Tkinter最初体验
    练习十三:水仙花数,用for循环实现
  • 原文地址:https://www.cnblogs.com/TDou/p/6069664.html
Copyright © 2020-2023  润新知