zoukankan      html  css  js  c++  java
  • 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;
                }
            }
        }
    }
    复制代码
     
  • 相关阅读:
    鼠标移动,背景变色
    datatable 删除行
    GridView新增一行,更新所有行實現
    让层垂直居中于浏览器窗口
    extjs学习笔记(转)
    Extjs中的panel
    JDK和JRE的区别(转)
    EXTJS中form添加按钮触发事件
    web.xml详解
    Oracle数据库中的诊断文件(转)
  • 原文地址:https://www.cnblogs.com/TDou/p/6069664.html
Copyright © 2011-2022 走看看