gpt4 book ai didi

javascript - 动态添加的网格的内存重新分配不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 04:18:46 26 4
gpt4 key购买 nike

我有一个 Mesh 实例,它使用 TubeGeometry 作为它的路径。当我更改 TubeGeometry 实例所基于的基础曲线时,我将从场景中移除网格,然后创建一个新的。

场景更新正常,但内存正在爆炸,这告诉我一旦它离开场景我就没有正确地重新分配移除的网格。

这是我试图用来解除分配的代码:

$.each(parent.children, function (idx, obj) {
parent.remove(obj);
renderer.deallocateObject(obj);
obj.deallocate();
});

parent 是一个 Object3D,我在其中放置了 Meshrenderer 是 < strong>WebGLRenderer.

任何人都可以告诉我我做错了什么以及如何正确地做这件事吗?

Here's a Plunk with my currently example.相关代码在 scene.js 文件中,第 76-86 行。请注意,该示例使用的是 r53

最佳答案

你没有释放使用过的几何体

$.each(parent.children, function (idx, obj) {
parent.remove(obj);
renderer.deallocateGeometry(obj.geometry);
renderer.deallocateObject(obj);
obj.geometry.deallocate();
obj.deallocate();
});

关于javascript - 动态添加的网格的内存重新分配不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14098527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com