mcpField
T
threejs-performance

threejs-performance

github.com/cesartevisual开发11468 次安装7 周前更新
代码仓库

关于 threejs-performance

面向 Three.js 项目的性能与内存优化指导,适用于需要分析瓶颈并验证改动的开发者。内容强调基于测量区分 CPU、GPU、绘制调用和内存问题,并检查资源所有权与释放。

主要功能

  1. 01记录可复现的性能基线
  2. 02区分 CPU、GPU 与内存瓶颈
  3. 03按瓶颈选择优化方式
  4. 04管理场景资源所有权
  5. 05检查重复挂载后的内存趋势
  6. 06核对 API 版本差异

适用场景

  1. 01分析场景帧时间问题
  2. 02定位绘制调用或填充率瓶颈
  3. 03排查重复挂载后的资源增长
  4. 04比较优化前后的性能与外观

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cesartevisual/threejs-skills --skill threejs-performance

安装后在 Claude Code 中输入/threejs-performance确认已加载。

附带文件references/profile.md

详细介绍

性能与内存

使用项目已安装的版本和现有架构。这些说明是对用户任务的补充,不授权进行无关更改或外部操作。

在有代表性的设备上复现,并记录场景状态、视口、像素比、后端、资源大小和帧时间分布。区分首次加载、解码和编译卡顿与稳态帧开销。请阅读性能分析工作表,以便按可重复的方式记录优化前后的数据。

确定瓶颈属于 CPU 工作、提交/绘制调用、GPU 着色/填充、传输还是内存。降低分辨率以探测像素开销;隔离阴影/效果;比较静态更新与动画更新。每次只更改一个主要变量。

绘制调用占主导时使用实例化/批处理;填充占主导时减少过度绘制/效果分辨率;CPU 受限时简化动画或将适当的工作移至线程外。减少三角形数量并不能解决所有瓶颈。避免逐帧分配和反复重新编译着色器。

明确共享缓存与实例之间的资源所有权。释放自行持有的几何体、材质、纹理、渲染目标、控件、混合器、观察器和监听器。释放材质不会释放其纹理;释放渲染器不会释放所有由场景持有的对象。不要释放仍在使用的缓存条目。

预热后测量重复挂载/卸载和模型替换的情况。内部缓存可能会导致计数器不为零;应关注无法解释的上升趋势,而不是要求归零。CPU 堆和 renderer.info 只能提供部分证据,并非 GPU 内存的精确数据。

只有在测得的性能提升不影响必需的外观和交互时,才接受优化。报告设备、方法、优化前后的数值,以及测量的局限性。

API 参考

有关准确的签名和特定修订版本的行为,请参阅官方文档。如果无法访问文档,请检查已安装的类型定义/源代码,并说明仍存在哪些不确定之处。

评论

支持 Markdown