THREE.Scene
Three.js には、そのシーン内のすべてのオブジェクトを破棄する適切な方法がないようです。
現在、私は次のことを行っています:
$.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 ヒープ プロファイラーを見ると、クリーンアップされていないオブジェクトがまだたくさんあります (テクスチャ、シェーダー マテリアル、ベクターなど...)。