From b328b78653133f05107eadba31572874e4c35e95 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 26 Apr 2012 01:14:22 +0300 Subject: Add LPS counter to debug window (Logic per second). Normally must be always 100 LPS. --- src/client.cpp | 5 +++++ src/client.h | 1 + src/gui/debugwindow.cpp | 19 +++++++++++-------- src/gui/debugwindow.h | 1 + 4 files changed, 18 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/client.cpp b/src/client.cpp index 56d7c2d25..b51d8cdac 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -164,7 +164,9 @@ void ErrorListener::action(const gcn::ActionEvent &) volatile int tick_time; /**< Tick counter */ volatile int fps = 0; /**< Frames counted in the last second */ +volatile int lps = 0; /**< Logic processed per second */ volatile int frame_count = 0; /**< Counts the frames during one second */ +volatile int logic_count = 0; /**< Counts the logic during one second */ volatile int cur_time; volatile bool runCounters; bool isSafeMode = false; @@ -197,7 +199,9 @@ Uint32 nextTick(Uint32 interval, void *param A_UNUSED) Uint32 nextSecond(Uint32 interval, void *param A_UNUSED) { fps = frame_count; + lps = logic_count; frame_count = 0; + logic_count = 0; return interval; } @@ -926,6 +930,7 @@ int Client::gameExec() ++lastTickTime; k ++; } + logic_count += k; // This is done because at some point tick_time will wrap. lastTickTime = tick_time; diff --git a/src/client.h b/src/client.h index 000f8749e..9e3996526 100644 --- a/src/client.h +++ b/src/client.h @@ -53,6 +53,7 @@ static const int MILLISECONDS_IN_A_TICK = 10; static const short DEFAULT_PORT = 6901; extern volatile int fps; +extern volatile int lps; extern volatile int tick_time; extern volatile int cur_time; extern bool isSafeMode; diff --git a/src/gui/debugwindow.cpp b/src/gui/debugwindow.cpp index fa01b5aa8..aa551df24 100644 --- a/src/gui/debugwindow.cpp +++ b/src/gui/debugwindow.cpp @@ -176,19 +176,21 @@ MapDebugTab::MapDebugTab() : #endif mFPSLabel = new Label(strprintf(_("%d FPS"), 0)); + mLPSLabel = new Label(strprintf(_("%d LPS"), 0)); place(0, 0, mFPSLabel, 2); - place(0, 1, mMusicFileLabel, 2); - place(0, 2, mMapLabel, 2); - place(0, 3, mMinimapLabel, 2); - place(0, 4, mXYLabel, 2); - place(0, 5, mTileMouseLabel, 2); - place(0, 6, mParticleCountLabel, 2); - place(0, 7, mMapActorCountLabel, 2); + place(0, 1, mLPSLabel, 2); + place(0, 2, mMusicFileLabel, 2); + place(0, 3, mMapLabel, 2); + place(0, 4, mMinimapLabel, 2); + place(0, 5, mXYLabel, 2); + place(0, 6, mTileMouseLabel, 2); + place(0, 7, mParticleCountLabel, 2); + place(0, 8, mMapActorCountLabel, 2); #ifdef USE_OPENGL #ifdef DEBUG_OPENGL_LEAKS mTexturesLabel = new Label(strprintf("%s %s", _("Textures count:"), "?")); - place(0, 8, mTexturesLabel, 2); + place(0, 9, mTexturesLabel, 2); #endif #endif place.getCell().matchColWidth(0, 0); @@ -260,6 +262,7 @@ void MapDebugTab::logic() mParticleCountLabel->adjustSize(); mFPSLabel->setCaption(strprintf(mFPSText.c_str(), fps)); + mLPSLabel->setCaption(strprintf(_("%d LPS"), lps)); } TargetDebugTab::TargetDebugTab() diff --git a/src/gui/debugwindow.h b/src/gui/debugwindow.h index 8be6f1220..dfbaa82be 100644 --- a/src/gui/debugwindow.h +++ b/src/gui/debugwindow.h @@ -66,6 +66,7 @@ class MapDebugTab : public DebugTab Label *mTexturesLabel; int mUpdateTime; Label *mFPSLabel; + Label *mLPSLabel; std::string mFPSText; }; -- cgit v1.2.3-60-g2f50