diff options
author | x2048 <codeforsmile@gmail.com> | 2023-01-09 21:40:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-09 21:40:08 +0100 |
commit | 139db66901a76dc95747335145606839aae746bb (patch) | |
tree | f4775c10f525e4635dc29253f457263463a73522 /src/client/client.cpp | |
parent | d69cb4fb5d74753b06cc9c42e2a221e82506705a (diff) | |
download | minetest-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.cpp | 10 |
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) |