]> git.lizzy.rs Git - dragonfireclient.git/commitdiff
Increase default emerge queue limits and limit enqueue requests for active blocks.
authorLars <larsh@apache.org>
Sun, 8 Nov 2020 20:30:38 +0000 (12:30 -0800)
committerlhofhansl <larsh@apache.org>
Thu, 12 Nov 2020 17:04:10 +0000 (09:04 -0800)
builtin/settingtypes.txt
src/defaultsettings.cpp
src/emerge.cpp

index 8eb667bdd97aa0473bdd30d821e0748fbefba7e1..c4dc82dfe11203e9da899ef36dcdc91ebe45c4ce 100644 (file)
@@ -2152,15 +2152,15 @@ chunksize (Chunk size) int 5
 enable_mapgen_debug_info (Mapgen debug) bool false
 
 #    Maximum number of blocks that can be queued for loading.
-emergequeue_limit_total (Absolute limit of queued blocks to emerge) int 512
+emergequeue_limit_total (Absolute limit of queued blocks to emerge) int 1024
 
 #    Maximum number of blocks to be queued that are to be loaded from file.
 #    This limit is enforced per player.
-emergequeue_limit_diskonly (Per-player limit of queued blocks load from disk) int 64
+emergequeue_limit_diskonly (Per-player limit of queued blocks load from disk) int 128
 
 #    Maximum number of blocks to be queued that are to be generated.
 #    This limit is enforced per player.
-emergequeue_limit_generate (Per-player limit of queued blocks to generate) int 64
+emergequeue_limit_generate (Per-player limit of queued blocks to generate) int 128
 
 #    Number of emerge threads to use.
 #    Value 0:
index dc02767335d3d44865c6d8903f7fe556f39cf1fe..177955589523db7c60631b400900d072e295d96c 100644 (file)
@@ -396,9 +396,9 @@ void set_default_settings(Settings *settings)
        settings->setDefault("debug_log_level", "action");
        settings->setDefault("debug_log_size_max", "50");
        settings->setDefault("chat_log_level", "error");
-       settings->setDefault("emergequeue_limit_total", "512");
-       settings->setDefault("emergequeue_limit_diskonly", "64");
-       settings->setDefault("emergequeue_limit_generate", "64");
+       settings->setDefault("emergequeue_limit_total", "1024");
+       settings->setDefault("emergequeue_limit_diskonly", "128");
+       settings->setDefault("emergequeue_limit_generate", "128");
        settings->setDefault("num_emerge_threads", "1");
        settings->setDefault("secure.enable_security", "true");
        settings->setDefault("secure.trusted_mods", "");
index 0ac26a68232b35bb81e1e464fe18d03401d6fbbd..12e4077978e2530764ed83b0ff4b416b3cfd0883 100644 (file)
@@ -426,6 +426,10 @@ bool EmergeManager::pushBlockEmergeData(
                                m_qlimit_generate : m_qlimit_diskonly;
                        if (count_peer >= qlimit_peer)
                                return false;
+               } else {
+                       // limit block enqueue requests for active blocks to 1/2 of total
+                       if (count_peer * 2 >= m_qlimit_total)
+                               return false;
                }
        }