javascript - 在 three.js 中从场景中完全移除网格的正确方法是什么?

标签 javascript three.js

如何在不导致内存泄漏的情况下从 three.js 场景中完全删除网格。我发现一次又一次地加载相同的模型会导致浏览器崩溃,所以看起来内存没有被释放。

最佳答案

对几何体和 Material 使用dispose 方法。此外,请确保没有任何对象持有对这些对象的引用,因为这会阻止垃圾回收。

var myMesh = new THREE.Mesh(geo, mat);
scene.add(myMesh);
//...
scene.remove(myMesh);
myMesh.geometry.dispose();
myMesh.material.dispose();
myMesh = undefined;

关于javascript - 在 three.js 中从场景中完全移除网格的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40694372/

相关文章:

javascript - 在 Chrome 上使用 THREE.js 在本地镜像上拒绝跨源图像加载

javascript - 从最后一个大写字母到结尾剪切字符串

javascript - 有没有可能将 postgreSQL 直接连接到 Javascript?

javascript - 如何为使用 tabset 类构建的特定选项卡提供外部链接?

javascript - Threejs 几何颜色

reactjs - 通过 react-three-fibre 中的 Prop 传递纹理的 URL

javascript - 使对象结构可克隆

javascript - 向 Three.js 对象添加属性

javascript - react /MobX : Store values are undefined?

javascript - Firebase 查询函数返回未定义