Replace std::list by std::vector into timerUpdate calls

This commit is contained in:
Loic Blot 2015-02-17 15:04:08 +01:00
parent 24315db6ef
commit 3c91ad8fc2
3 changed files with 9 additions and 10 deletions

View File

@ -434,7 +434,7 @@ void Client::step(float dtime)
const float map_timer_and_unload_dtime = 5.25; const float map_timer_and_unload_dtime = 5.25;
if(m_map_timer_and_unload_interval.step(dtime, map_timer_and_unload_dtime)) { if(m_map_timer_and_unload_interval.step(dtime, map_timer_and_unload_dtime)) {
ScopeProfiler sp(g_profiler, "Client: map timer and unload"); ScopeProfiler sp(g_profiler, "Client: map timer and unload");
std::list<v3s16> deleted_blocks; std::vector<v3s16> deleted_blocks;
m_env.getMap().timerUpdate(map_timer_and_unload_dtime, m_env.getMap().timerUpdate(map_timer_and_unload_dtime,
g_settings->getFloat("client_unload_unused_data_timeout"), g_settings->getFloat("client_unload_unused_data_timeout"),
&deleted_blocks); &deleted_blocks);
@ -444,8 +444,8 @@ void Client::step(float dtime)
NOTE: This loop is intentionally iterated the way it is. NOTE: This loop is intentionally iterated the way it is.
*/ */
std::list<v3s16>::iterator i = deleted_blocks.begin(); std::vector<v3s16>::iterator i = deleted_blocks.begin();
std::list<v3s16> sendlist; std::vector<v3s16> sendlist;
for(;;) { for(;;) {
if(sendlist.size() == 255 || i == deleted_blocks.end()) { if(sendlist.size() == 255 || i == deleted_blocks.end()) {
if(sendlist.empty()) if(sendlist.empty())
@ -462,7 +462,7 @@ void Client::step(float dtime)
*pkt << (u8) sendlist.size(); *pkt << (u8) sendlist.size();
u32 k = 0; u32 k = 0;
for(std::list<v3s16>::iterator for(std::vector<v3s16>::iterator
j = sendlist.begin(); j = sendlist.begin();
j != sendlist.end(); ++j) { j != sendlist.end(); ++j) {
*pkt << *j; *pkt << *j;

View File

@ -1421,7 +1421,7 @@ bool Map::getDayNightDiff(v3s16 blockpos)
Updates usage timers Updates usage timers
*/ */
void Map::timerUpdate(float dtime, float unload_timeout, void Map::timerUpdate(float dtime, float unload_timeout,
std::list<v3s16> *unloaded_blocks) std::vector<v3s16> *unloaded_blocks)
{ {
bool save_before_unloading = (mapType() == MAPTYPE_SERVER); bool save_before_unloading = (mapType() == MAPTYPE_SERVER);
@ -1435,8 +1435,7 @@ void Map::timerUpdate(float dtime, float unload_timeout,
beginSave(); beginSave();
for(std::map<v2s16, MapSector*>::iterator si = m_sectors.begin(); for(std::map<v2s16, MapSector*>::iterator si = m_sectors.begin();
si != m_sectors.end(); ++si) si != m_sectors.end(); ++si) {
{
MapSector *sector = si->second; MapSector *sector = si->second;
bool all_blocks_deleted = true; bool all_blocks_deleted = true;
@ -1506,7 +1505,7 @@ void Map::timerUpdate(float dtime, float unload_timeout,
} }
} }
void Map::unloadUnreferencedBlocks(std::list<v3s16> *unloaded_blocks) void Map::unloadUnreferencedBlocks(std::vector<v3s16> *unloaded_blocks)
{ {
timerUpdate(0.0, -1.0, unloaded_blocks); timerUpdate(0.0, -1.0, unloaded_blocks);
} }

View File

@ -277,13 +277,13 @@ public:
Saves modified blocks before unloading on MAPTYPE_SERVER. Saves modified blocks before unloading on MAPTYPE_SERVER.
*/ */
void timerUpdate(float dtime, float unload_timeout, void timerUpdate(float dtime, float unload_timeout,
std::list<v3s16> *unloaded_blocks=NULL); std::vector<v3s16> *unloaded_blocks=NULL);
/* /*
Unloads all blocks with a zero refCount(). Unloads all blocks with a zero refCount().
Saves modified blocks before unloading on MAPTYPE_SERVER. Saves modified blocks before unloading on MAPTYPE_SERVER.
*/ */
void unloadUnreferencedBlocks(std::list<v3s16> *unloaded_blocks=NULL); void unloadUnreferencedBlocks(std::vector<v3s16> *unloaded_blocks=NULL);
// Deletes sectors and their blocks from memory // Deletes sectors and their blocks from memory
// Takes cache into account // Takes cache into account