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.htmlおよびhttp://threejs.org/examples/webgl_test_memory2.htmlを参照してください。

編集:three.jsr.69に更新

PSニースデモ。継続的に割り当てや割り当て解除を行うのではなく、オブジェクトのプールを作成して再利用することを検討することをお勧めします。

于 2012-10-18T00:04:05.213 に答える