9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-27 11:09:06 +00:00

Mantle reduction mem

This commit is contained in:
cyberpwn
2021-09-21 08:18:51 -04:00
parent 2514aa2e3c
commit 6b62ba1c5b
5 changed files with 24 additions and 0 deletions

View File

@@ -21,6 +21,7 @@ package com.volmit.iris.engine;
import com.google.common.util.concurrent.AtomicDouble;
import com.google.gson.Gson;
import com.volmit.iris.Iris;
import com.volmit.iris.core.IrisSettings;
import com.volmit.iris.core.events.IrisEngineHotloadEvent;
import com.volmit.iris.core.project.IrisProject;
import com.volmit.iris.core.service.PreservationSVC;
@@ -61,6 +62,8 @@ import com.volmit.iris.util.hunk.Hunk;
import com.volmit.iris.util.io.IO;
import com.volmit.iris.util.math.M;
import com.volmit.iris.util.math.RNG;
import com.volmit.iris.util.matter.MatterCavern;
import com.volmit.iris.util.matter.MatterFluidBody;
import com.volmit.iris.util.scheduling.ChronoLatch;
import com.volmit.iris.util.scheduling.J;
import com.volmit.iris.util.scheduling.PrecisionStopwatch;

View File

@@ -27,6 +27,7 @@ import lombok.EqualsAndHashCode;
import java.io.IOException;
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;
@SuppressWarnings({"DefaultAnnotationParam", "Lombok"})
@Data

View File

@@ -19,7 +19,9 @@
package com.volmit.iris.util.mantle;
import com.volmit.iris.Iris;
import com.volmit.iris.core.IrisSettings;
import com.volmit.iris.engine.data.cache.Cache;
import com.volmit.iris.engine.framework.Engine;
import com.volmit.iris.engine.mantle.EngineMantle;
import com.volmit.iris.engine.mantle.MantleWriter;
import com.volmit.iris.util.collection.KMap;
@@ -36,6 +38,8 @@ import com.volmit.iris.util.matter.MatterSlice;
import com.volmit.iris.util.parallel.BurstExecutor;
import com.volmit.iris.util.parallel.HyperLock;
import com.volmit.iris.util.parallel.MultiBurst;
import com.volmit.iris.util.scheduling.J;
import lombok.Getter;
import org.bukkit.Chunk;
import java.io.File;
@@ -54,6 +58,7 @@ public class Mantle {
private final File dataFolder;
private final int worldHeight;
private final Map<Long, Long> lastUse;
@Getter
private final Map<Long, TectonicPlate> loadedRegions;
private final HyperLock hyperLock;
private final KSet<Long> unload;
@@ -529,4 +534,8 @@ public class Mantle {
public boolean isLoaded(Chunk c) {
return loadedRegions.containsKey(key(c.getX() >> 5, c.getZ() >> 5));
}
public boolean shouldReduce(Engine engine) {
return !engine.isStudio() || IrisSettings.get().getPerformance().isTrimMantleInStudio();
}
}

View File

@@ -223,4 +223,12 @@ public class MantleChunk {
}
}
}
public void trimSlices() {
for (int i = 0; i < sections.length(); i++) {
if (exists(i)) {
trimSlice(i);
}
}
}
}

View File

@@ -20,9 +20,12 @@ package com.volmit.iris.util.mantle;
import com.volmit.iris.Iris;
import com.volmit.iris.engine.data.cache.Cache;
import com.volmit.iris.util.collection.KMap;
import com.volmit.iris.util.documentation.ChunkCoordinates;
import com.volmit.iris.util.format.C;
import com.volmit.iris.util.format.Form;
import com.volmit.iris.util.matter.Matter;
import com.volmit.iris.util.nbt.mca.Section;
import com.volmit.iris.util.scheduling.PrecisionStopwatch;
import lombok.Getter;