aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0354-Increase-Light-Queue-Size.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0354-Increase-Light-Queue-Size.patch')
-rw-r--r--patches/server/0354-Increase-Light-Queue-Size.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/patches/server/0354-Increase-Light-Queue-Size.patch b/patches/server/0354-Increase-Light-Queue-Size.patch
new file mode 100644
index 0000000000..0c0b38a5fb
--- /dev/null
+++ b/patches/server/0354-Increase-Light-Queue-Size.patch
@@ -0,0 +1,28 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Aikar <[email protected]>
+Date: Wed, 8 Apr 2020 21:24:05 -0400
+Subject: [PATCH] Increase Light Queue Size
+
+Wiz mentioned that large WorldEdit operations cause light to run on
+main thread. The queue was small, set to 5.. this bumps it to 20
+but makes it configurable per-world.
+
+The main risk of increasing this higher is during shutdown, some
+queued light updates may be lost because mojang did not flush the
+light engine on shutdown...
+
+The queue size only puts a cap on max loss, doesn't solve that problem.
+
+diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
+index 3a085c141a5a6e2df9a85d0e3969363d69824294..27f19abc22e295a5480dbed5df86f5d885ad3b73 100644
+--- a/src/main/java/net/minecraft/server/MinecraftServer.java
++++ b/src/main/java/net/minecraft/server/MinecraftServer.java
+@@ -780,7 +780,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+ this.executeModerately();
+ // CraftBukkit end
+ if (worldserver.getWorld().getKeepSpawnInMemory()) worldloadlistener.stop(); // Paper
+- chunkproviderserver.getLightEngine().setTaskPerBatch(5);
++ chunkproviderserver.getLightEngine().setTaskPerBatch(worldserver.paperConfig().misc.lightQueueSize); // Paper - increase light queue size
+ // CraftBukkit start
+ // this.updateMobSpawningFlags();
+ worldserver.setSpawnSettings(this.isSpawningMonsters(), this.isSpawningAnimals());