Javascript ThreeJS loadTexture将图像收集到内存中,内存快速增长

Javascript ThreeJS loadTexture将图像收集到内存中,内存快速增长,javascript,memory-leaks,three.js,Javascript,Memory Leaks,Three.js,如果你用Chrome/windows打开kemooolep.com/three,你的浏览器很快就会崩溃,小心!) 也许有人知道如何在不使用memoryleak的情况下动态更改材质,但现在还不清楚您想要实现什么 首先,您的onload函数被无限调用,即使它似乎不是必需的。 这一部分,特别是: if (loadedCount == 6){ onLoaded(); } 那么,我真的不明白为什么只有在场景准备就绪时才调用THREE.ImageUtils.loadTexture?直接加载它们,并将它

如果你用Chrome/windows打开kemooolep.com/three,你的浏览器很快就会崩溃,小心!)


也许有人知道如何在不使用memoryleak的情况下动态更改材质,但现在还不清楚您想要实现什么

首先,您的
onload
函数被无限调用,即使它似乎不是必需的。 这一部分,特别是:

if (loadedCount == 6){
  onLoaded();
}

那么,我真的不明白为什么只有在场景准备就绪时才调用
THREE.ImageUtils.loadTexture
?直接加载它们,并将它们分配到各自回调中的
mesh.material.materials[index]
会更容易。

您必须处理未使用的纹理。这些也将删除图像

Hi!谢谢你的帮助!目前这段代码只用于演示,但我想实现的是图像随时间变化的qube,让它为2ms或5000ms并不重要。问题是,当加载新图像时,它们将永远不会被删除,内存使用率将不断提高。然后,您必须管理%6个纹理池,并定期加载新纹理。这就是materials array现在所做的。根本不工作。