From 8eb694f537eafa137aaee7111e4971f75358164b Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 18 Aug 2011 16:19:01 +0300 Subject: Improve "auto adjust perfomance". --- src/game.cpp | 12 +++++++++++- src/game.h | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/game.cpp b/src/game.cpp index 8457cf079..82f919976 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -338,7 +338,8 @@ Game::Game(): mValidSpeed(true), mLastAction(0), mNextAdjustTime(cur_time + adjustDelay), - mAdjustLevel(0) + mAdjustLevel(0), + mLowerCounter(0) { spellManager = new SpellManager; spellShortcut = new SpellShortcut; @@ -586,6 +587,13 @@ void Game::adjustPerfomance() if (fps < maxFps - 10) { + if (mLowerCounter < 2) + { + mLowerCounter ++; + mNextAdjustTime = cur_time + 1; + return; + } + mLowerCounter = 0; mAdjustLevel ++; switch (mAdjustLevel) { @@ -604,6 +612,7 @@ void Game::adjustPerfomance() else { mNextAdjustTime = cur_time + 1; + mLowerCounter = 2; } break; } @@ -621,6 +630,7 @@ void Game::adjustPerfomance() else { mNextAdjustTime = cur_time + 1; + mLowerCounter = 2; } break; case 3: diff --git a/src/game.h b/src/game.h index 88dc9166b..84dca08e9 100644 --- a/src/game.h +++ b/src/game.h @@ -117,6 +117,7 @@ class Game unsigned mNextAdjustTime; int mAdjustLevel; bool mAdjustPerfomance; + int mLowerCounter; static Game *mInstance; }; -- cgit v1.2.3-60-g2f50