memory leaks are joever

This commit is contained in:
Leijurv 2023-06-29 21:59:31 -07:00
parent 15f4253b3d
commit 8211ae4af5
No known key found for this signature in database
GPG Key ID: 44A3EA646EADAC6A
2 changed files with 10 additions and 0 deletions

View File

@ -622,6 +622,13 @@ public final class Settings {
*/ */
public final Setting<Boolean> pruneRegionsFromRAM = new Setting<>(true); public final Setting<Boolean> pruneRegionsFromRAM = new Setting<>(true);
/**
* The chunk packer queue can never grow to larger than this, if it does, the oldest chunks are discarded
* <p>
* The newest chunks are kept, so that if you're moving in a straight line quickly then stop, your immediate render distance is still included
*/
public final Setting<Integer> chunkPackerQueueMaxSize = new Setting<>(2000);
/** /**
* Fill in blocks behind you * Fill in blocks behind you
*/ */

View File

@ -307,6 +307,9 @@ public final class CachedWorld implements ICachedWorld, Helper {
try { try {
ChunkPos pos = toPackQueue.take(); ChunkPos pos = toPackQueue.take();
Chunk chunk = toPackMap.remove(pos); Chunk chunk = toPackMap.remove(pos);
if (toPackQueue.size() > Baritone.settings().chunkPackerQueueMaxSize.value) {
continue;
}
CachedChunk cached = ChunkPacker.pack(chunk); CachedChunk cached = ChunkPacker.pack(chunk);
CachedWorld.this.updateCachedChunk(cached); CachedWorld.this.updateCachedChunk(cached);
//System.out.println("Processed chunk at " + chunk.x + "," + chunk.z); //System.out.println("Processed chunk at " + chunk.x + "," + chunk.z);