4

我创建了一些代码,它们很快就会耗尽内存并死掉。

我已将其缩减为代码的环面生成/删除部分。我检查了场景数组和圆环数组的长度是否随着形状的移除而缩小,因此它们似乎得到了很好的管理,但我不确定内存泄漏的位置。

有任何想法吗?

http://jsfiddle.net/eVwP3/

4

1 回答 1

13

webGLRenderer, 删除网格后

scene.remove( mesh );

你可以释放内存

mesh.dispose();
geometry.dispose();
material.dispose();
texture.dispose();

请参阅http://threejs.org/examples/webgl_test_memory.htmlhttp://threejs.org/examples/webgl_test_memory2.html

编辑:更新到three.js r.69

PS不错的演示。您可能需要考虑创建对象池并重用它们,而不是不断地分配和解除分配。

于 2012-10-18T00:04:05.213 回答