Improve geometry disposal when clearing terrain meshes

This commit is contained in:
2026-04-29 23:15:19 +02:00
parent d2b920dbf5
commit 0f015bb99a

View File

@@ -4935,13 +4935,18 @@ export class RuntimeHost {
private clearTerrainMeshes() { private clearTerrainMeshes() {
for (const renderObjects of this.terrainMeshes.values()) { for (const renderObjects of this.terrainMeshes.values()) {
this.terrainGroup.remove(renderObjects.group); this.terrainGroup.remove(renderObjects.group);
const geometries = new Set<BufferGeometry>();
for (const chunk of renderObjects.chunks) { for (const chunk of renderObjects.chunks) {
for (const mesh of chunk.levels) { for (const geometry of chunk.levelGeometries) {
mesh.geometry.dispose(); geometries.add(geometry);
} }
} }
for (const geometry of geometries) {
geometry.dispose();
}
renderObjects.material.dispose(); renderObjects.material.dispose();
} }