在three.js中从场景中完全删除网格的正确方法是什么?

时间:2016-11-19 15:07:35

标签: javascript three.js

如何完全从three.js场景中删除网格而不会导致内存泄漏。我可以发现一次又一次地加载相同的模型会导致浏览器崩溃,所以看起来内存没有被释放。

1 个答案:

答案 0 :(得分:10)

在几何体和材质上使用dispose方法。此外,请确保没有任何内容持有对这些对象的引用,因为这样可以防止垃圾回收。

var myMesh = new THREE.Mesh(geo, mat);
scene.add(myMesh);
//...
scene.remove(myMesh);
myMesh.geometry.dispose();
myMesh.material.dispose();
myMesh = undefined;