From aff7e90e37560a7f270ea444f1e08f35b729e540 Mon Sep 17 00:00:00 2001 From: tom lee Date: Sat, 5 Feb 2022 14:35:27 +0800 Subject: [PATCH] Tweeked values for RAM check to make it actaully run --- .../lod/core/objects/lod/LodDimension.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/seibel/lod/core/objects/lod/LodDimension.java b/src/main/java/com/seibel/lod/core/objects/lod/LodDimension.java index 0631a3cc9..c9c70c5e4 100644 --- a/src/main/java/com/seibel/lod/core/objects/lod/LodDimension.java +++ b/src/main/java/com/seibel/lod/core/objects/lod/LodDimension.java @@ -324,9 +324,9 @@ public class LodDimension public void expandOrLoadRegionsAsync(int playerPosX, int playerPosZ) { if (isExpanding) return; - // If we have less than 10% or 1MB ram left. Don't expend. + // If we have less than 20% or 128MB ram left. Don't expend. if (expandOrLoadPaused) { - if (LodUtil.checkRamUsage(0.4, 512)) { + if (LodUtil.checkRamUsage(0.2, 128)) { ClientApi.LOGGER.info("Enough ram for expandOrLoadThread. Restarting..."); expandOrLoadPaused = false; } @@ -345,11 +345,14 @@ public class LodDimension //ClientApi.LOGGER.info("LodDim expend Region: " + playerPosX + "," + playerPosZ); Pos minPos = regions.getMinInRange(); iterateWithSpiral((int x, int z) -> { - if (!expandOrLoadPaused && !LodUtil.checkRamUsage(0.2, 64)) { - ClientApi.LOGGER.warn("Not enough ram for expandOrLoadThread. Pausing until Ram is freed..."); - // We have less than 10% or 1MB ram left. Don't expend. - expandOrLoadPaused = true; - saveDirtyRegionsToFile(false); + if (!expandOrLoadPaused && !LodUtil.checkRamUsage(0.02, 64)) { + Runtime.getRuntime().gc(); + if (!LodUtil.checkRamUsage(0.2, 128)) { + ClientApi.LOGGER.warn("Not enough ram for expandOrLoadThread. Pausing until Ram is freed..."); + // We have less than 10% or 64MB ram left. Don't expend. + expandOrLoadPaused = true; + saveDirtyRegionsToFile(false); + } } int regionX;