Skip to content
Snippets Groups Projects
Commit 3c30ab28 authored by Perttu Ahola's avatar Perttu Ahola
Browse files

Speed up periodical map unloading by moving beginSave() and endSave() to outer...

Speed up periodical map unloading by moving beginSave() and endSave() to outer loop in Map::timerUpdate()
parent 310fa100
No related branches found
No related tags found
No related merge requests found
...@@ -1408,6 +1408,7 @@ void Map::timerUpdate(float dtime, float unload_timeout, ...@@ -1408,6 +1408,7 @@ void Map::timerUpdate(float dtime, float unload_timeout,
core::map<v2s16, MapSector*>::Iterator si; core::map<v2s16, MapSector*>::Iterator si;
beginSave();
si = m_sectors.getIterator(); si = m_sectors.getIterator();
for(; si.atEnd() == false; si++) for(; si.atEnd() == false; si++)
{ {
...@@ -1418,7 +1419,6 @@ void Map::timerUpdate(float dtime, float unload_timeout, ...@@ -1418,7 +1419,6 @@ void Map::timerUpdate(float dtime, float unload_timeout,
core::list<MapBlock*> blocks; core::list<MapBlock*> blocks;
sector->getBlocks(blocks); sector->getBlocks(blocks);
beginSave();
for(core::list<MapBlock*>::Iterator i = blocks.begin(); for(core::list<MapBlock*>::Iterator i = blocks.begin();
i != blocks.end(); i++) i != blocks.end(); i++)
{ {
...@@ -1451,13 +1451,13 @@ void Map::timerUpdate(float dtime, float unload_timeout, ...@@ -1451,13 +1451,13 @@ void Map::timerUpdate(float dtime, float unload_timeout,
all_blocks_deleted = false; all_blocks_deleted = false;
} }
} }
endSave();
if(all_blocks_deleted) if(all_blocks_deleted)
{ {
sector_deletion_queue.push_back(si.getNode()->getKey()); sector_deletion_queue.push_back(si.getNode()->getKey());
} }
} }
endSave();
// Finally delete the empty sectors // Finally delete the empty sectors
deleteSectors(sector_deletion_queue); deleteSectors(sector_deletion_queue);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment