当前位置: 首页 > article >正文

UNITY计算fps时应忽略掉time.timescale的影响

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class AnalysisTool : MonoBehaviour
{
public Text fpsText; // 用于显示FPS的UI Text组件
public Text fps2Text; // 用于显示FPS的UI Text组件
public float updateInterval = 1f; // 更新FPS显示的间隔时间(秒)

private float accum = 0; // 累计时间
private int frames = 0; // 累计帧数
private float timeLeft; // 下一次更新FPS显示的时间
private float averageFPS = 0; // 平均FPS
private float minFPS = float.MaxValue; // 最低FPS
private float maxFPS = 0; // 最高FPS
private float deltaTime = 0.0f;

private void Awake()
{
    DontDestroyOnLoad(gameObject);
}

void Start()
{
    timeLeft = updateInterval;
}

void Update()
{
    // 计算当前帧的FPS       
    deltaTime += (Time.unscaledDeltaTime - deltaTime) * 0.1f;
    float currentFPS = 1.0f / deltaTime;     

    // 累计时间和帧数
    timeLeft -= Time.deltaTime;
    accum += currentFPS;
    frames++;

    // 如果达到更新间隔时间,计算平均FPS并更新UI
    if (timeLeft <= 0.0f)
    {
        // 计算平均FPS
        averageFPS = accum / frames;

        // 更新最低/最高FPS
        if (averageFPS < minFPS) 
            minFPS = averageFPS;

        if (averageFPS > maxFPS) 
            maxFPS = averageFPS;

        // 更新UI Text显示FPS信息
        fpsText.text = string.Format(
            "FPS: {0:0.}\nMin: {1:0.}\nMax: {2:0.}",
            averageFPS, minFPS, maxFPS
        );

        // 重置累计值和时间
        timeLeft = updateInterval;
        accum = 0;
        frames = 0;
    }
}

}


http://www.kler.cn/a/544135.html

相关文章:

  • Unity 代码优化记录
  • Python中的队列详解
  • 8.flask+websocket
  • VS2019打开《喜缺全书算法册》附带代码的方法兼述单元测试
  • 中间件-安装Minio-集成使用(ubantu-docker)
  • RabbitMQ 如何设置限流?
  • [Linux][问题处理]修改密码报You must wait longer to change your password
  • 人生的转折点反而迷失了方向
  • 游戏内常见加密
  • Unity 卡死排查方法(游戏死循环、打包卡死)
  • python+unity落地方案实现AI 换脸融合
  • Spring 项目接入 DeepSeek,分享两种超简单的方式!
  • HTML之JavaScript函数声明
  • 【AI学习】DeepSeek-R1-Distill的意义和影响
  • MYSQL 索引 index
  • 求助帖: stm32通过 flash实现boot和app之间的api共享
  • 稀疏计算的软硬件协同:FPGA有力推动硬件发展
  • 一文详解机器视觉环形光源,视觉检测中的环形光源应用
  • 2025年智慧化工园区整体解决方案-下载:安全生产管控,全生命周期数字管理架构
  • Science Advances 基于折纸工艺利用可降解纤维素薄膜开发了一种可持续性闭环控制机器人系统
  • 机器学习 - 理解偏差-方差分解
  • QT 异步编程之多线程
  • 3.9 学习UVM中的uvm_env类分为几步?
  • 代码随想录算法训练营第五十五天-42. 接雨水
  • 解决 Flutter Device Daemon 启动失败问题的实践记录
  • 塑造未来:2025 年前端开发的新趋势与技术展望