From 2733df78c49fe00f47564f72e62e813e12f31129 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Mon, 23 Jun 2025 12:33:10 +0200 Subject: [PATCH] Skip pointless meshgen updates for air blocks --- src/client/mesh_generator_thread.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/client/mesh_generator_thread.cpp b/src/client/mesh_generator_thread.cpp index 4f7dd7fb5..bfb739a4c 100644 --- a/src/client/mesh_generator_thread.cpp +++ b/src/client/mesh_generator_thread.cpp @@ -112,6 +112,18 @@ bool MeshUpdateQueue::addBlock(Map *map, v3s16 p, bool ack_block_to_server, } } + /* + Air blocks won't suddenly become visible due to a neighbor update, so + skip those. + Note: this can be extended with more precise checks in the future + */ + if (from_neighbor && mesh_grid.cell_size == 1 && main_block->isAir()) { + assert(!ack_block_to_server); + m_urgents.erase(mesh_position); + g_profiler->add("MeshUpdateQueue: updates skipped", 1); + return true; + } + /* Add the block */