Reputation: 1088
We are trying to create a single page app in which user can switch between multiple Three.js apps. However we are noticing constant increase in memory usage by the tab. Their is no memory leakage in our app and seems Three.js variables are not getting cleared from RAM.
Steps to recreate
I have noticed 2 bugs filed on chromium and firefox about this memory issue but no solution has been provided yet.
Please help me on how to release memory, most of stuff I found on internet are not helping.
PS: I have filed a bug at Three.js as well https://github.com/mrdoob/three.js/issues/4276
Upvotes: 14
Views: 17588
Reputation: 1088
Here is what did the trick for me
This way, I was able to free more than 600MB of memory post moving to another page.
Update Answer by Mr. Doob and WestLangley Memory leak with three.js and many shapes
In webGLRenderer, after removing a mesh with
scene.remove( mesh )
,
you can deallocate the memory with
renderer.deallocateObject( mesh );
You can deallocate textures with
renderer.deallocateTexture( texture );
Upvotes: 13