SuperAPI AI 工具集

threejs-performance

通用与其它

查看项目

更新于 10-16 08:43

技能介绍

用途:为 Three.js / React Three Fiber 项目提供性能诊断与优化规则,适用于掉帧卡顿、内存持续增长、加载慢或显存爆、绘制调用过多、需要迁移 WebGPU、实现大规模粒子或实例化渲染、配置资源压缩管线等场景。

主要能力:以绘制调用 <100 次/帧为黄金法则,用 renderer.info.render.calls 监控;提供诊断决策树,按症状定位实例化/合批、dispose、压缩管线、WebGPU 计算着色器、R3F 重渲染等方向。绘制调用优化包括 InstancedMesh、BatchedMesh、mergeGeometries 与材质共享。资源压缩给出 Draco 几何体压缩(体积减 90-95%)、KTX2 纹理(GPU 内存约降 10 倍)及命令 gltf-transform optimize model.glb out.glb --texture-compress ktx2 --compress draco。内存方面强调 Three.js 不自动回收 GPU 资源,需 geometry.dispose()、遍历材质纹理逐个 dispose、material.dispose(),GLTF 的 ImageBitmap 还需 texture.source.data.close()。另含着色器三规则、光照阴影预算、R3F 三规则、后处理选型与验收标准。

使用方式:先安装监控(stats-gl、r3f-perf 等)取得帧率与 renderer.info 数据,再按决策树逐项优化;WebGPU 需 await renderer.init(),TSL 一次编写自动编译 WGSL/GLSL。

限制:不覆盖 React 组件层通用性能问题、Three.js 基础教学与美术制作;未量测不应先优化。浏览器 WebGPU 支持下限为记录时点数据,需以 caniuse 现查为准。完整代码与细节见其 references 文档。