threejs GPU内存释放.dispose() 学习笔记

threejs yekong

web3d项目开发中,threejs场景渲染过后,移出场景显存占用仍然存在。为了减少不必要的资源占用,需要释放资源。

GPU内存释放.dispose()

在移出模型后,需要释放模型占用的资源

// 从场景中移出數据不再渲染 不在占用gltf.scene需要的GPU资源占用
model.remove(gltf.scene)
// 送归遍历批量释放所有Mesh的几何体和材质占用的GPU内存(显存)
gltf.scene.traverse(function (object) {
  if (object.type === 'Mesh') {
    object.geometry.dispose()
    object.material.dispose()
  }
})

教程地址

WebGL/Three.js前端3D可视化

喜欢