From ea1e8797a3eb949efb8a6de583a8826eaed26911 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Tue, 18 Mar 2025 20:06:39 +0100 Subject: [PATCH] Fix performance bug with applying LBMs --- src/serverenvironment.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/serverenvironment.cpp b/src/serverenvironment.cpp index bab243713..9a810434f 100644 --- a/src/serverenvironment.cpp +++ b/src/serverenvironment.cpp @@ -270,7 +270,8 @@ void LBMManager::applyLBMs(ServerEnvironment *env, MapBlock *block, if (previous_c != c) { c_changed = true; lbm_list = it->second.lookup(c); - batch = &to_run[c]; + if (lbm_list) + batch = &to_run[c]; // creates entry previous_c = c; } @@ -301,6 +302,8 @@ void LBMManager::applyLBMs(ServerEnvironment *env, MapBlock *block, else ++it2; } + } else { + assert(!batch.p.empty()); } first = false; @@ -1061,9 +1064,6 @@ void ServerEnvironment::activateBlock(MapBlock *block, u32 additional_dtime) dtime_s = m_game_time - stamp; dtime_s += additional_dtime; - /*infostream<<"ServerEnvironment::activateBlock(): block timestamp: " - <setTimestampNoChangedFlag(m_game_time); - /*infostream<<"ServerEnvironment::activateBlock(): block is " - <isOrphan())