Three.js WebGLRenderer性能

时间:2014-11-05 17:21:05

标签: javascript performance memory-leaks three.js webgl

我有一个Three.js应用程序,有时我需要完全重新呈现应用程序。 (我没有任何页面重新加载)

我见过建议重用WebGLRenderer变量的示例。我试过这个,内存泄漏仍然出现。出于性能目的,我需要杀死WebGL上下文并在每次需要重绘场景时实例化一个新的上下文,以避免因WebGL上下文的倍增而导致内存泄漏。

我也看到Three.js有内置的方法来管理内存,比如renderer.deallocateObjectscene.removeObject,但似乎新的Three.js版本不再支持它们(我的是r69)。

所以,我的问题是:我如何发布WebGL渲染器(WebGL上下文)并开始一个新的渲染器?我真的需要为我的应用程序的生命周期保留一个WebGL上下文。

任何帮助将不胜感激。我也接受纯JavaScript解决方案(不使用Three.js)

由于

1 个答案:

答案 0 :(得分:0)

使用

obj.remove(tile);
obj.geometry.dispose();
obj.material.dispose();