用途:当 Three.js 场景出现低 FPS、内存泄漏、draw call 过多或 GPU 内存占用过高时,用于定位与优化性能问题,避免盲目优化的常见错误。
主要能力:提供性能诊断流程图,依次检查 renderer.info.render.calls、renderer.info.memory、renderer.info.render.triangles、GPU/CPU 负载与 Stats.js 内存面板;给出性能预算表(绘制调用、三角形、纹理、着色器程序、帧时间的目标/警告/严重阈值);说明必须手动释放的 GPU 资源(BufferGeometry、Material、Texture、WebGLRenderTarget、WebGLRenderer、PMREMGenerator、Controls)及完整材质与场景释放函数;覆盖绘制调用优化(InstancedMesh、BatchedMesh、几何体合并、LOD)、纹理优化(尺寸、2 的幂、KTX2/Basis 压缩、图集)、视锥剔除、对象池、CPU 侧优化(静态矩阵、避免渲染循环分配)、着色器与材质优化,以及 Chrome DevTools 与 WebGL Inspector 分析要点。
使用方式:在开发中持续记录 renderer.info.memory 的 geometries 与 textures 数量以发现泄漏;按流程图逐项排查瓶颈;对象移除时调用对应 dispose 方法;渲染大量相同对象时使用 InstancedMesh 并在 setMatrixAt 后设置 instanceMatrix.needsUpdate = true;使用 Stats.js 监控 FPS 与堆内存。
适用场景:Three.js 项目的性能调优、内存泄漏排查、渲染负载分析与资源生命周期管理。
限制:资料仅涉及性能诊断与优化,未提供收费、价格、平台兼容等其它信息;具体命令与代码示例需参照原文。