From 87c301bb43f3195e5e9102338e6fb13aa6566a51 Mon Sep 17 00:00:00 2001 From: vasco Date: Mon, 28 Feb 2022 23:14:14 +0000 Subject: [PATCH] Fix #49. Prevent buffer geometry mem leak in tiles and hex polygons data --- src/layers/hexedPolygons.js | 1 + src/layers/tiles.js | 1 + 2 files changed, 2 insertions(+) diff --git a/src/layers/hexedPolygons.js b/src/layers/hexedPolygons.js index 931f58f..061350f 100755 --- a/src/layers/hexedPolygons.js +++ b/src/layers/hexedPolygons.js @@ -121,6 +121,7 @@ export default Kapsule({ const applyUpdate = td => { const { alt, margin, curvatureResolution } = obj.__currentTargetD = td; + obj.geometry && obj.geometry.dispose(); obj.geometry = !hexBins.length ? new THREE.BufferGeometry() : BufferGeometryUtils.mergeBufferGeometries(hexBins.map(h => { diff --git a/src/layers/tiles.js b/src/layers/tiles.js index 27060cd..6dd98a9 100644 --- a/src/layers/tiles.js +++ b/src/layers/tiles.js @@ -78,6 +78,7 @@ export default Kapsule({ const rotLng = deg2Rad(lng); const rotLat = deg2Rad(-lat); + obj.geometry && obj.geometry.dispose(); obj.geometry = new THREE.SphereBufferGeometry( GLOBE_RADIUS * (1 + alt), Math.ceil(width / (curvatureResolution || -1)),