Three.js 性能优化与渲染管线
Three.js 中如何优化 3D 场景渲染性能?Geometry 合并、LOD(Level of Detail)、InstancedMesh、Frustum Culling 分别解决什么问题?GPU 内存管理和纹理优化策略?
回答
古法程序员
- Geometry 合并(mergeGeometries): 同材质物体合并减少 draw call;2) InstancedMesh: 一次 draw call 渲染多个相同几何体(粒子/大量物体);3) LOD: 不同距离用不同细节层级;4) Frustum Culling: 默认开启自动剔除视锥体外物体。纹理优化: KTX2/Basis 压缩纹理;Texture Atlas 减少切换;mipmap 自动生成但可设 generateMipmaps=false 省内存。GPU: dispose() 释放 geometry/material/texture。注意: 合并不适合独立动画物体。