似乎 Three.js 没有很好的方法来处理THREE.Scene
该场景中的一个和所有对象。
目前我正在做以下事情:
$.each(scene.__objects, function(idx, obj) {
scene.remove(obj);
if (obj.geometry) {
obj.geometry.dispose();
}
if (obj.material) {
if (obj.material instanceof THREE.MeshFaceMaterial) {
$.each(obj.material.materials, function(idx, obj) {
obj.dispose();
});
} else {
obj.material.dispose();
}
}
if (obj.dispose) {
obj.dispose();
}
});
查看 Chrome 堆分析器,仍有许多对象没有被清理(纹理、着色器材质、向量等)。