求助 Three.js 从内存删除scene中remove的模型释放内存 无效
threejs吧
全部回复
仅看楼主
level 1
特罗卡卡 楼主


2020年01月19日 09点01分 1
level 1
特罗卡卡 楼主
2020年01月19日 09点01分 2
这是我每次更换模型后 调用清除的方法 然而内存还是一直在增加
2020年01月19日 09点01分
@特罗卡卡 兄弟,我也遇到同样的问题了[泪]我感觉dispose完全不起作用,你现在有解决办法了吗
2020年01月29日 14点01分
@特罗卡卡 不好意思这两天没上贴吧。我前两天去外网看了一下,发现老外也遇到了同样的问题,有大佬指出要用renderer.renderLists.dispose(),我这边的项目用了这行代码后确实可以清掉内存,不清楚能不能帮到你
2020年02月03日 06点02分
@西瓜霜杀虫剂 就是说,光一个renderer.dispose()可能还不够,还要renderer.renderLists.dispose()一下[喷]官方API上可没说有这个东西啊,太坑了。
2020年02月03日 06点02分
level 1
特罗卡卡 楼主
有偿 大佬们 我的VX
13437160829
2020年01月19日 09点01分 3
level 1
兄弟尝试一下这个方法
/**
* 清空当前obj对象的缓存
* @param object object3D对象或mesh对象
* */
clearCache: function (group) {
if (!group) return;
// 删除掉所有的模型组内的mesh
group.traverse(function (item) {
if (item instanceof THREE.Mesh) {
item.geometry.dispose(); // 删除几何体
if (Array.isArray(item.material)) {
item.material.forEach(function (item) {
item.dispose();
})
} else {
item.material.dispose(); // 删除材质
}
}
});
this.scene.remove(group);
},
2020年02月11日 02点02分 4
好的老哥
2020年02月11日 13点02分
level 1
楼主,麻烦问一下,你的问题解决了吗?内存能清掉了吗?
2020年03月30日 06点03分 5
你也遇到了? 没清掉 用了比较蠢的方法
2020年03月30日 09点03分
@特罗卡卡 麻烦问一下用了什么办法可以吗[笑尿][笑尿]试了很多都清不掉
2020年03月31日 01点03分
刷新页面
2020年03月31日 02点03分
@特罗卡卡 谢谢
2020年03月31日 03点03分
level 1
你这个3D人像模型怎么生成的?
2020年04月23日 09点04分 6
level 1
找工作吗?需要会three.js,坐标杭州。
2021年11月25日 09点11分 7
薪资?
2021年12月10日 02点12分
1