From: Perttu Ahola Date: Tue, 6 Sep 2011 16:16:36 +0000 (+0300) Subject: Speed up periodical map unloading by moving beginSave() and endSave() to outer loop... X-Git-Tag: 0.2.20110922~14 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=3c30ab28070d206585047640d0c293912208e37d;p=oweals%2Fminetest.git Speed up periodical map unloading by moving beginSave() and endSave() to outer loop in Map::timerUpdate() --- diff --git a/src/map.cpp b/src/map.cpp index 5e2fd558c..423a07dcd 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -1408,6 +1408,7 @@ void Map::timerUpdate(float dtime, float unload_timeout, core::map::Iterator si; + beginSave(); si = m_sectors.getIterator(); for(; si.atEnd() == false; si++) { @@ -1418,7 +1419,6 @@ void Map::timerUpdate(float dtime, float unload_timeout, core::list blocks; sector->getBlocks(blocks); - beginSave(); for(core::list::Iterator i = blocks.begin(); i != blocks.end(); i++) { @@ -1451,13 +1451,13 @@ void Map::timerUpdate(float dtime, float unload_timeout, all_blocks_deleted = false; } } - endSave(); if(all_blocks_deleted) { sector_deletion_queue.push_back(si.getNode()->getKey()); } } + endSave(); // Finally delete the empty sectors deleteSectors(sector_deletion_queue);