我有一个Mesh实例,它使用TubeGeometry作为它的路径。当我对TubeGeometry实例所基于的基础曲线进行更改时,我将从场景中移除网格,然后创建一个新的。
场景更新得很好,但内存正在爆炸,这告诉我,一旦移除的网格离开场景,我就没有正确地释放它。
这是我试图用来解除分配的代码:
$.each(parent.children, function (idx, obj) {
parent.remove(obj);
renderer.deallocateObject(obj);
obj.deallocate();
});
我将网格放入其中parent
的Object3D是哪里,并且是WebGLRenderer的一个实例。renderer
谁能告诉我我做错了什么以及如何正确地做到这一点?
这是我当前示例的Plunk。相关代码在scene.js文件第 76-86 行。请注意,该示例使用的是r53。