scene.remove( mesh );
だけでは削除しきれていない。Meshを構成するオブジェクトがである...
- geometry
- material
- texture
- renderTarget
はWebGLRenderer
にキャッシュされる仕組みになっているのでメモリに残りつづけてしまう。
削除したいときにdispose()
メソッドを手動で実行すると、three.jsの内部でdispose
イベントが呼ばれ、WebGLRenderer
から削除される仕組みになっている。
scene.remove( mesh );
geometry.dispose();
material.dispose();
texture.dispose();
ポストプロセスのrenderTarget
はあまり頻繁に削除することはないだろうけど、もし削除する際にはこれも上記と同様にdisposeする。