diff options
author | Andrei Karas <akaras@inbox.ru> | 2013-04-09 20:19:51 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2013-04-09 20:19:51 +0300 |
commit | f1db2118bec94c32ebda6a281dc956ba1a480163 (patch) | |
tree | 21e81d9701cc758d0d1bf171c657ba4f722b69df /src/game.cpp | |
parent | 4aeceabb5d4f00e2555234951a2f5db24b008265 (diff) | |
download | mv-f1db2118bec94c32ebda6a281dc956ba1a480163.tar.gz mv-f1db2118bec94c32ebda6a281dc956ba1a480163.tar.bz2 mv-f1db2118bec94c32ebda6a281dc956ba1a480163.tar.xz mv-f1db2118bec94c32ebda6a281dc956ba1a480163.zip |
Improve slow login update speed.
Diffstat (limited to 'src/game.cpp')
-rw-r--r-- | src/game.cpp | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/src/game.cpp b/src/game.cpp index 0fc4c36b1..465911767 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -385,7 +385,8 @@ Game::Game(): mAdjustPerfomance(config.getBoolValue("adjustPerfomance")), mLowerCounter(0), mPing(0), - mLogInput(config.getBoolValue("logInput")) + mLogInput(config.getBoolValue("logInput")), + mTime(cur_time + 1) { touchManager.setInGame(true); spellManager = new SpellManager; @@ -571,20 +572,25 @@ void Game::slowLogic() BLOCK_START("Game::slowLogic") if (player_node) player_node->slowLogic(); - if (botCheckerWindow) - botCheckerWindow->slowLogic(); - if (debugWindow) - debugWindow->slowLogic(); - if (killStats) - killStats->update(); - if (socialWindow) - socialWindow->slowLogic(); - if (whoIsOnline) - whoIsOnline->slowLogic(); + const int time = cur_time; + if (mTime <= time) + { + mTime = time + 1; + if (botCheckerWindow) + botCheckerWindow->slowLogic(); + if (debugWindow) + debugWindow->slowLogic(); + if (killStats) + killStats->update(); + if (socialWindow) + socialWindow->slowLogic(); + if (whoIsOnline) + whoIsOnline->slowLogic(); + Being::reReadConfig(); + if (killStats) + killStats->recalcStats(); + } - Being::reReadConfig(); - if (killStats) - killStats->recalcStats(); if (shopWindow) shopWindow->updateTimes(); if (mainGraphics->getOpenGL()) |