From 1037183f4c5c4b0f18710a27a5d53bac713a937f Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Sat, 11 Sep 2021 07:49:13 -0400 Subject: [PATCH] Fixes --- src/main/java/com/volmit/iris/core/IrisSettings.java | 10 ++++++++-- src/main/java/com/volmit/iris/engine/IrisComplex.java | 3 ++- src/main/java/com/volmit/iris/engine/IrisEngine.java | 2 +- .../com/volmit/iris/engine/mantle/EngineMantle.java | 4 +++- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/IrisSettings.java b/src/main/java/com/volmit/iris/core/IrisSettings.java index d03a4650c..e3b4ef028 100644 --- a/src/main/java/com/volmit/iris/core/IrisSettings.java +++ b/src/main/java/com/volmit/iris/core/IrisSettings.java @@ -33,11 +33,12 @@ import java.io.IOException; @Data public class IrisSettings { public static transient IrisSettings settings; - private IrisSettingsConcurrency concurrency = new IrisSettingsConcurrency(); private IrisSettingsGeneral general = new IrisSettingsGeneral(); private IrisSettingsGUI gui = new IrisSettingsGUI(); private IrisSettingsGenerator generator = new IrisSettingsGenerator(); + private IrisSettingsConcurrency concurrency = new IrisSettingsConcurrency(); private IrisSettingsStudio studio = new IrisSettingsStudio(); + private IrisSettingsPerformance performance = new IrisSettingsPerformance(); public static int getThreadCount(int c) { return switch (c) { @@ -50,7 +51,12 @@ public class IrisSettings { @Data public static class IrisSettingsConcurrency { public int parallelism = -1; - public int parallaxEvictionMS = 10000; + } + + @Data + public static class IrisSettingsPerformance { + public int mantleKeepAliveSeconds = 60; + public int cacheSize = 131072; } @Data diff --git a/src/main/java/com/volmit/iris/engine/IrisComplex.java b/src/main/java/com/volmit/iris/engine/IrisComplex.java index 0c720c9f6..2920e4090 100644 --- a/src/main/java/com/volmit/iris/engine/IrisComplex.java +++ b/src/main/java/com/volmit/iris/engine/IrisComplex.java @@ -20,6 +20,7 @@ package com.volmit.iris.engine; import com.google.common.util.concurrent.AtomicDouble; import com.volmit.iris.Iris; +import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.loader.IrisData; import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; @@ -92,7 +93,7 @@ public class IrisComplex implements DataProvider { } public IrisComplex(Engine engine, boolean simple) { - int cacheSize = 131072; + int cacheSize = IrisSettings.get().getPerformance().getCacheSize(); IrisBiome emptyBiome = new IrisBiome(); UUID focusUUID = UUID.nameUUIDFromBytes("focus".getBytes()); this.rng = new RNG(engine.getSeedManager().getComplex()); diff --git a/src/main/java/com/volmit/iris/engine/IrisEngine.java b/src/main/java/com/volmit/iris/engine/IrisEngine.java index a0d1cc126..37fdf7520 100644 --- a/src/main/java/com/volmit/iris/engine/IrisEngine.java +++ b/src/main/java/com/volmit/iris/engine/IrisEngine.java @@ -121,7 +121,7 @@ public class IrisEngine implements Engine { bud = new AtomicInteger(0); buds = new AtomicInteger(0); metrics = new EngineMetrics(32); - cleanLatch = new ChronoLatch(Math.max(10000, IrisSettings.get().getConcurrency().getParallaxEvictionMS())); + cleanLatch = new ChronoLatch(10000); generatedLast = new AtomicInteger(0); perSecond = new AtomicDouble(0); perSecondLatch = new ChronoLatch(1000, false); diff --git a/src/main/java/com/volmit/iris/engine/mantle/EngineMantle.java b/src/main/java/com/volmit/iris/engine/mantle/EngineMantle.java index 43f8b60fb..60bc22b3e 100644 --- a/src/main/java/com/volmit/iris/engine/mantle/EngineMantle.java +++ b/src/main/java/com/volmit/iris/engine/mantle/EngineMantle.java @@ -19,6 +19,7 @@ package com.volmit.iris.engine.mantle; import com.volmit.iris.Iris; +import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.loader.IrisData; import com.volmit.iris.engine.IrisComplex; import com.volmit.iris.engine.framework.Engine; @@ -47,6 +48,7 @@ import org.bukkit.block.TileState; import org.bukkit.block.data.BlockData; import java.util.List; +import java.util.concurrent.TimeUnit; import java.util.function.Consumer; // TODO: MOVE PLACER OUT OF MATTER INTO ITS OWN THING @@ -180,7 +182,7 @@ public interface EngineMantle extends IObjectPlacer { } default void trim() { - getMantle().trim(60000); + getMantle().trim(TimeUnit.SECONDS.toMillis(IrisSettings.get().getPerformance().getMantleKeepAliveSeconds())); } default MultiBurst burst() {