用途:用于对 Three.js 项目做性能与内存方面的分析与优化,关注帧时间、GPU 工作量、资源内存和资源泄漏。使用方式上,要求沿用项目已安装版本与现有架构,这些说明只是对用户任务的补充,不授权进行无关改动或外部操作。
主要能力:在代表性设备上复现问题,记录场景状态、视口、像素比、后端、资源大小和帧时间分布,区分首屏加载/解码/编译停顿与稳态帧开销;判断瓶颈属于 CPU、提交/绘制调用、GPU 着色与填充、传输还是内存。可通过降低分辨率探测像素成本、隔离阴影与特效、对比静态与动画更新,且一次只改一个主要变量。
优化手段:绘制调用占主导时使用实例化或批处理;填充占主导时减少过度绘制或特效分辨率;CPU 受限时简化动画或把适合的工作移到线程外。资料提示降低三角形数量并不能解决所有瓶颈,应避免每帧分配和重复的着色器重编译。
资源管理:需明确共享缓存与实例之间的资源归属,释放自己拥有的几何体、材质、纹理、渲染目标、控制器、混合器、观察者和监听器;释放材质不会释放其纹理,释放渲染器也不会释放所有场景自有对象,且不要释放仍在使用的缓存条目。可在预热后测量重复挂载/卸载和模型替换;内部缓存可能留有非零计数,应关注无法解释的上升趋势而非要求归零,CPU 堆与 renderer.info 只是部分证据,不等于精确 GPU 内存。
限制与验收:只有在测量到的改进同时保留所需外观与交互时,才接受该优化;报告应包含设备、方法、前后数值和测量局限。精确 API 签名与版本相关行为请查阅官方文档;若无法访问文档,可检查已安装类型或源码,并说明仍存在的不确定性。