From b8f58b9cc76d7aafc42016525a711004efc9583c Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Fri, 4 Sep 2020 03:24:38 -0400 Subject: [PATCH] Low memory mode support --- .../java/com/volmit/iris/gen/atomics/AtomicMulticache.java | 5 ++++- .../java/com/volmit/iris/gen/atomics/AtomicWorldData.java | 4 ++-- src/main/java/com/volmit/iris/util/ObjectResourceLoader.java | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/volmit/iris/gen/atomics/AtomicMulticache.java b/src/main/java/com/volmit/iris/gen/atomics/AtomicMulticache.java index 1a2936bb1..f83b31170 100644 --- a/src/main/java/com/volmit/iris/gen/atomics/AtomicMulticache.java +++ b/src/main/java/com/volmit/iris/gen/atomics/AtomicMulticache.java @@ -3,6 +3,7 @@ package com.volmit.iris.gen.atomics; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Supplier; +import com.volmit.iris.Iris; import com.volmit.iris.IrisSettings; import com.volmit.iris.object.IrisBiome; import com.volmit.iris.object.IrisRegion; @@ -44,7 +45,7 @@ public class AtomicMulticache this.x.set(x); this.z.set(z); - if(!IrisSettings.get().sharedCaching) + if(!IrisSettings.get().sharedCaching || Iris.lowMemoryMode) { drop(); } @@ -268,5 +269,7 @@ public class AtomicMulticache region.clear(); biome.clear(); rawBiome.clear(); + carvedHeight.clear(); + carvedHeightIgnoreWater.clear(); } } diff --git a/src/main/java/com/volmit/iris/gen/atomics/AtomicWorldData.java b/src/main/java/com/volmit/iris/gen/atomics/AtomicWorldData.java index df9030c07..99923df15 100644 --- a/src/main/java/com/volmit/iris/gen/atomics/AtomicWorldData.java +++ b/src/main/java/com/volmit/iris/gen/atomics/AtomicWorldData.java @@ -278,7 +278,7 @@ public class AtomicWorldData break; } - if(M.ms() - lastRegion.get(i) > 30000) + if(M.ms() - lastRegion.get(i) > (Iris.lowMemoryMode ? 15000 : 30000)) { unloadRegions.add(i); m++; @@ -311,7 +311,7 @@ public class AtomicWorldData break; } - if(M.ms() - lastChunk.get(i) > 30000) + if(M.ms() - lastChunk.get(i) > (Iris.lowMemoryMode ? 8000 : 30000)) { m++; unloadChunks.add(i); diff --git a/src/main/java/com/volmit/iris/util/ObjectResourceLoader.java b/src/main/java/com/volmit/iris/util/ObjectResourceLoader.java index 2b0d1058a..7963f0221 100644 --- a/src/main/java/com/volmit/iris/util/ObjectResourceLoader.java +++ b/src/main/java/com/volmit/iris/util/ObjectResourceLoader.java @@ -31,7 +31,7 @@ public class ObjectResourceLoader extends ResourceLoader { if(useFlip.flip()) { - unloadLast(60000 * 5); + unloadLast(Iris.lowMemoryMode ? 60000 : (60000 * 5)); } }