2个答案
mesh.geometrys.dispose(); mesh.geometry=空;// 或未定义。 //“删除”也很酷,但不支持旧浏览器 //delete关键字删除属性的两个值 //以及财产本身。 删除网格几何图形
mesh.getometry=VerySmallmesh.gestometry//请参阅three.js,如果这不正确,如何执行此操作mesh.gETometry=null; //尝试覆盖内存堆栈
-
嗯,好吧,我会尝试调用dispose,看看是否有什么变化,但如果我有一些object3D和一些孩子,而每个孩子都有另一个孩子,我需要为每个网格调用dispose3D? 有一种方法可以让每个孩子都轻松做到这一点吗? – 萨尔瓦多 评论 2016年10月7日15:06 -
把它读到这一页的末尾(最重要的是在按钮页): github.com/mrdoob/tree.js/issues/5175 然后看这个例子 threejs.org/examples/#webgl_test_memory – 尼古拉·卢基奇 评论 2016年10月8日11:39 -
-
在手机上,你需要进行大的修改,我建议你优化项目的各个方面。 使网格稍微低一些,注意材质、纹理,甚至控制台。log可能会制造麻烦。。。 你说得很好:“需要时间来获得自由记忆”。。。 – 尼古拉·卢基奇 评论 2016年10月9日12:15 -
是 啊。。。 我已经知道了。。。 感谢您抽出时间:)我会接受这个答案,在桌面应用程序上运行良好,对于移动应用程序来说没有问题,我认为我可以管理反应组件生命周期中的网格 – 萨尔瓦多 评论 2016年10月9日12:26
if(网格){ 场景移除(网格); mesh.geometrys.dispose(); mesh.material.dispose(); 网格=[]; }