unity中UI界面显示FPS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity中UI界面显示FPS相关的知识,希望对你有一定的参考价值。

直接上代码
 
 
using UnityEngine;
using System.Collections;
 
public class HUDFPS : MonoBehaviour
{
 
    // Attach this to a GUIText to make a frames/second indicator.
    //
    // It calculates frames/second over each updateInterval,
    // so the display does not keep changing wildly.
    //
    // It is also fairly accurate at very low FPS counts (<10).
    // We do this not by simply counting frames per interval, but
    // by accumulating FPS for each frame. This way we end up with
    // correct overall FPS even if the interval renders something like
    // 5.5 frames.
 
    public float updateInterval = 0.5F;
 
    private float accum = 0; // FPS accumulated over the interval
    private int frames = 0; // Frames drawn over the interval
    private float timeleft; // Left time for current interval
    public UnityWebView meshRender;
 
    void Start()
    {
        if (!GetComponent<GUIText>())
        {
            Debug.Log("UtilityFramesPerSecond needs a GUIText component!");
            enabled = false;
            return;
        }
        timeleft = updateInterval;
    }
 
    void Update()
    {
        timeleft -= Time.deltaTime;
        accum += Time.timeScale / Time.deltaTime;
        ++frames;
 
        // Interval ended - update GUI text and start new interval
        if (timeleft <= 0.0)
        {
            // display two fractional digits (f2 format)
            float fps = accum / frames;
            string format = System.String.Format("{0:F2} FPS", fps);
            GetComponent<GUIText>().text = format;
 
            if (fps < 30)
                GetComponent<GUIText>().material.color = Color.yellow;
            else
                if (fps < 10)
                    GetComponent<GUIText>().material.color = Color.red;
                else
                    GetComponent<GUIText>().material.color = Color.green;
 
            meshRender.setFPS(fps);
            //  DebugConsole.Log(format,level);
            timeleft = updateInterval;
            accum = 0.0F;
            frames = 0;
        }
    }
}

以上是关于unity中UI界面显示FPS的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D编辑器扩展Unity3D中实现UI界面控制,UI界面的显示和隐藏实现

Unity3D拖尾组件在Ui界面下正常显示

unity-------------UI的界面调节

unity UI如何开启(显示)或者关闭(隐藏)Panel界面最好?

unityui界面vr中看不到

Unity3D物体在UI界面的显示同时控制模型旋转