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

1️⃣4️⃣three.js_Stats性能监视器

14、stats性能监视器

  • 3D虚拟工厂在线体验

  • 在 Three.js 中,渲染是通过循环调用 render() 函数实现的。每次调用 render() 都会在 Canvas 画布上渲染一帧画面,而持续调用该函数就能实现画面的动态更新。需要注意的是,render() 函数的计算复杂度越高,渲染性能通常就越低。

  • 我们可以通过统计每秒执行 render() 的次数来计算渲染帧率(FPS,Frames Per Second)。在流畅运行的情况下,FPS 通常为 60,这意味着每帧的渲染时间约为 16.7 毫秒(即 1/60 秒),这一时间也被称为 帧间隔时间(Frame Interval)。

  • 然而,如果在调试过程中没有性能监视器,当出现画面卡顿时,开发者将难以精准定位性能瓶颈,无法判断是渲染逻辑复杂、GPU 负载过高,还是其他因素导致的帧率下降。因此,合理使用性能分析工具对于优化 Three.js 应用的流畅度至关重要。

导入Stats库

//引入性能监视器stats
import Stats from 'three/addons/libs/stats.module.js';

Stats使用

const stats = new Stats();//创建stats对象 
stats.setMode(0);//0代表fps,1代表ms,2代表mb,默认为0onMounted(() => { //页面初始化
(proxy.$refs.webg1 as HTMLElement).appendChild(stats.domElement);//绑定性能监视器到画布上
render();//开启渲染函数,
});function render() {// 渲染函数stats.update();renderer.render(scene, camera); //执行渲染操作requestAnimationFrame(render); //请求再次执行渲染函数render,渲染下一帧
}
render();

✅执行结果:
请添加图片描述

  • 位于画面左上角的Stats性能监视器可实时查看渲染性能数据,左键点击切换显示模式:

    • stats.setMode(0):显示实时帧率(FPS)
    • stats.setMode(1):显示帧间隔时间(毫秒)
    • stats.setMode(2):显示内存占用(MB)仅支持Chrome/Edge浏览器
  • 监视器显示的最高帧率受限于电脑硬件性能,默认以60FPS为基准;实际帧率上限取决于显示器刷新率(可通过系统设置查看)。
    请添加图片描述

  • 如果项目出现卡顿问题,在排除硬件因素后,应重点检查 render() 函数的执行效率以及三维场景的复杂度。此时,可以使用 Stats 性能监视工具进行实时分析。

  • 点击【专栏目录】查看专栏其他内容。

相关文章:

  • 机器学习中,什么叫监督学习?什么叫非监督学习?
  • 25.解决中医知识问答删除历史对话功能后端处理请求时抛出异常
  • 【大数据、数据开发与数据分析面试题汇总(含答案)】
  • OpenCV训练题
  • 【Redis】Redis 特性
  • L1-1、Prompt 是什么?为什么它能“控制 AI”?
  • 爱普生TG-5006CG成为提升5G RedCap时钟同步精度的理想选择
  • ECA 注意力机制:让你的卷积神经网络更上一层楼
  • 【Pandas】pandas DataFrame sub
  • FreeRTOS互斥信号量解决优先级翻转实战教程
  • 大模型中超参数TopK是什么
  • 批量创建同名文件夹并整理文件至对应文件夹
  • ElementUI中checkbox v-model绑定值为布尔、字符串或数字类型
  • Docker如何更换镜像源提高拉取速度
  • NLP高频面试题(四十八)大语言模型中的思维链(CoT)技术详解
  • LintCode第192题-通配符匹配
  • 解决 Ubuntu 下 VTune 无法收集 CPU 硬件时间计数数据的问题
  • FramePack:让视频生成更高效、更实用
  • Vue2集成ElementUI实现左侧菜单导航
  • 电子电器架构 ---软件定义汽车的电子/电气(E/E)架构
  • 九江市人大常委会原党组成员、副主任戴晓慧主动交代问题,正接受审查调查
  • 最高法报告点名“夜郎古酒”商标侵权案:促成当事人握手言和
  • 人民日报钟声:世界决不能重回弱肉强食的时代
  • 3月赴美外国游客数量加速下滑
  • 海口市美兰区委副书记、区长吴升娇去世,终年41岁
  • 谁在向张福生行贿?