Unity FPS显示工具

使用非常简单,创建个空物体,添加FPSDisplay脚本,修改脚本参数,运行即可

代码

using UnityEngine;

/// <summary>
/// FPS显示工具
/// </summary>
public class FPSDisplay : MonoBehaviour
{
    [Header("是否显示")]
    public bool isShow = true;
    [Header("更新间隔")]
    public float updateInterval = 1f;
    [Header("字体大小")]
    public int fontSize = 42;
    [Header("字体颜色")]
    public Color fontColor = Color.white;
    [Header("距离边缘")]
    public int margin = 50;
    [Header("显示位置")]
    public TextAnchor alignment = TextAnchor.UpperLeft;

    private GUIStyle guiStyle;
    private Rect rect;
    private int frames;
    private float fps;
    private float lastInterval;

    void Start()
    {
        guiStyle = new GUIStyle();
        guiStyle.fontStyle = FontStyle.Bold;        //字体加粗
        guiStyle.fontSize = fontSize;               //字体大小
        guiStyle.normal.textColor = fontColor;      //字体颜色
        guiStyle.alignment = alignment;             //对其方式

        rect = new Rect(margin, margin, Screen.width - (margin * 2), Screen.height - (margin * 2));
        lastInterval = Time.realtimeSinceStartup;
        frames = 0;
        fps = 0.0f;
    }
    void Update()
    {
        ++frames;
        float timeNow = Time.realtimeSinceStartup;
        if (timeNow > lastInterval + updateInterval)
        {
            fps = frames / (timeNow - lastInterval);
            frames = 0;
            lastInterval = timeNow;
        }
    }
    void OnGUI()
    {
        if (!isShow) return;
        GUI.Label(rect, "FPS: " + fps.ToString("F2"), guiStyle);
    }
}

效果图,按需要修改代码或参数
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值