aboutsummaryrefslogtreecommitdiff
path: root/src/client/client.cpp
diff options
context:
space:
mode:
authorx2048 <codeforsmile@gmail.com>2023-01-09 21:40:08 +0100
committerGitHub <noreply@github.com>2023-01-09 21:40:08 +0100
commit139db66901a76dc95747335145606839aae746bb (patch)
treef4775c10f525e4635dc29253f457263463a73522 /src/client/client.cpp
parentd69cb4fb5d74753b06cc9c42e2a221e82506705a (diff)
downloadminetest-139db66901a76dc95747335145606839aae746bb.tar.xz
Remove mapblock cache for mesh generation. (#13124)
Reduces memory consumption and improves performance
Diffstat (limited to 'src/client/client.cpp')
-rw-r--r--src/client/client.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/client/client.cpp b/src/client/client.cpp
index 0f96904b7..9a7e1498f 100644
--- a/src/client/client.cpp
+++ b/src/client/client.cpp
@@ -339,8 +339,12 @@ Client::~Client()
m_mesh_update_manager.wait();
MeshUpdateResult r;
- while (m_mesh_update_manager.getNextResult(r))
+ while (m_mesh_update_manager.getNextResult(r)) {
+ for (auto block : r.map_blocks)
+ if (block)
+ block->refDrop();
delete r.mesh;
+ }
delete m_inventory_from_server;
@@ -595,6 +599,10 @@ void Client::step(float dtime)
blocks_to_ack.emplace_back(r.p);
}
+
+ for (auto block : r.map_blocks)
+ if (block)
+ block->refDrop();
}
if (blocks_to_ack.size() > 0) {
// Acknowledge block(s)