From 88b31797e78a58cabc7d2f846f363fe92067c880 Mon Sep 17 00:00:00 2001 From: Mark Vejvoda Date: Mon, 11 Mar 2013 03:46:40 +0000 Subject: [PATCH] - make client use less CPU for network games --- .../glest_game/network/client_interface.cpp | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/source/glest_game/network/client_interface.cpp b/source/glest_game/network/client_interface.cpp index 780da0d28..1e951477b 100644 --- a/source/glest_game/network/client_interface.cpp +++ b/source/glest_game/network/client_interface.cpp @@ -860,7 +860,7 @@ void ClientInterface::updateFrame(int *checkFrame) { //printf("#2 ClientInterface::updateFrame\n"); Chrono chrono; - if(SystemFlags::getSystemSettingType(SystemFlags::debugPerformance).enabled) chrono.start(); + chrono.start(); int simulateLag = Config::getInstance().getInt("SimulateClientLag","0"); bool done= false; @@ -1113,17 +1113,19 @@ void ClientInterface::updateFrame(int *checkFrame) { if(isConnected() == false && quit == true) { done = true; } + // Sleep ever second we wait to let other threads work + else if(chrono.getMillis() % 25 == 0) { + sleep(1); + } } if(done == true) { MutexSafeWrapper safeMutex(networkCommandListThreadAccessor,CODE_AT_LINE); cachedPendingCommandsIndex++; } - else { - if(checkFrame == NULL) { - //sleep(15); - sleep(0); - } + else if(checkFrame == NULL) { + //sleep(15); + sleep(0); } } //printf("#3 ClientInterface::updateFrame\n"); @@ -1705,9 +1707,9 @@ NetworkMessageType ClientInterface::waitForMessage() return msg; } // Sleep ever second we wait to let other threads work - //else if(chrono.getMillis() % 1000 == 0) { - //sleep(0); - //} + else if(chrono.getMillis() % 25 == 0) { + sleep(1); + } //sleep(waitSleepTime); }