mirror of
https://github.com/glest/glest-source.git
synced 2025-02-24 19:52:25 +01:00
- attempt to see if this helps network performance
This commit is contained in:
parent
ef58a2285d
commit
159cdc40d0
@ -898,7 +898,7 @@ void ClientInterface::updateFrame(int *checkFrame) {
|
||||
Chrono chrono;
|
||||
chrono.start();
|
||||
|
||||
int waitMilliseconds = (checkFrame == NULL ? 1 : 0);
|
||||
int waitMicroseconds = (checkFrame == NULL ? 100 : 0);
|
||||
int simulateLag = Config::getInstance().getInt("SimulateClientLag","0");
|
||||
bool done= false;
|
||||
while(done == false && this->quitThread == false) {
|
||||
@ -906,7 +906,7 @@ void ClientInterface::updateFrame(int *checkFrame) {
|
||||
//printf("BEFORE Client get networkMessageType\n");
|
||||
|
||||
//wait for the next message
|
||||
NetworkMessageType networkMessageType = waitForMessage(waitMilliseconds);
|
||||
NetworkMessageType networkMessageType = waitForMessage(waitMicroseconds);
|
||||
|
||||
//printf("AFTER Client got networkMessageType = %d\n",networkMessageType);
|
||||
|
||||
@ -1233,13 +1233,13 @@ bool ClientInterface::getNetworkCommand(int frameCount, int currentCachedPending
|
||||
//cachedPendingCommands.erase(frameCount);
|
||||
cachedPendingCommands[frameCount].clear();
|
||||
}
|
||||
safeMutex.ReleaseLock();
|
||||
safeMutex.ReleaseLock(true);
|
||||
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
else {
|
||||
safeMutex.ReleaseLock();
|
||||
safeMutex.ReleaseLock(true);
|
||||
// No data for this frame
|
||||
//if(cachedPendingCommandsIndex > currentCachedPendingCommandsIndex) {
|
||||
// break;
|
||||
@ -1721,7 +1721,7 @@ string ClientInterface::getNetworkStatus() {
|
||||
return szBuf;
|
||||
}
|
||||
|
||||
NetworkMessageType ClientInterface::waitForMessage(int waitMilliseconds)
|
||||
NetworkMessageType ClientInterface::waitForMessage(int waitMicroseconds)
|
||||
{
|
||||
// Debug!
|
||||
/*
|
||||
@ -1744,7 +1744,7 @@ NetworkMessageType ClientInterface::waitForMessage(int waitMilliseconds)
|
||||
NetworkMessageType msg = nmtInvalid;
|
||||
//uint64 waitLoopCount = 0;
|
||||
while(msg == nmtInvalid && this->quitThread == false) {
|
||||
msg = getNextMessageType(waitMilliseconds);
|
||||
msg = getNextMessageType(waitMicroseconds);
|
||||
if(msg == nmtInvalid) {
|
||||
if(chrono.getMillis() % 250 == 0 && isConnected() == false) {
|
||||
if(quit == false) {
|
||||
@ -1781,8 +1781,8 @@ NetworkMessageType ClientInterface::waitForMessage(int waitMilliseconds)
|
||||
close();
|
||||
return msg;
|
||||
}
|
||||
// Sleep ever second we wait to let other threads work
|
||||
else if(chrono.getMillis() % 25 == 0) {
|
||||
// Sleep every x milli-seconds we wait to let other threads work
|
||||
else if(chrono.getMillis() % 50 == 0) {
|
||||
sleep(5);
|
||||
}
|
||||
|
||||
|
@ -178,7 +178,7 @@ public:
|
||||
protected:
|
||||
|
||||
Mutex * getServerSynchAccessor() { return NULL; }
|
||||
NetworkMessageType waitForMessage(int waitMilliseconds=0);
|
||||
NetworkMessageType waitForMessage(int waitMicroseconds=0);
|
||||
bool shouldDiscardNetworkMessage(NetworkMessageType networkMessageType);
|
||||
|
||||
void updateFrame(int *checkFrame);
|
||||
|
@ -152,8 +152,8 @@ public:
|
||||
static bool hasDataToRead(PLATFORM_SOCKET socket);
|
||||
bool hasDataToRead();
|
||||
|
||||
static bool hasDataToReadWithWait(PLATFORM_SOCKET socket,int waitMilliseconds);
|
||||
bool hasDataToReadWithWait(int waitMilliseconds);
|
||||
static bool hasDataToReadWithWait(PLATFORM_SOCKET socket,int waitMicroseconds);
|
||||
bool hasDataToReadWithWait(int waitMicroseconds);
|
||||
|
||||
virtual void disconnectSocket();
|
||||
|
||||
|
@ -1077,12 +1077,12 @@ bool Socket::hasDataToRead(PLATFORM_SOCKET socket)
|
||||
return bResult;
|
||||
}
|
||||
|
||||
bool Socket::hasDataToReadWithWait(int waitMilliseconds) {
|
||||
bool Socket::hasDataToReadWithWait(int waitMicroseconds) {
|
||||
MutexSafeWrapper safeMutex(dataSynchAccessorRead,CODE_AT_LINE);
|
||||
return Socket::hasDataToReadWithWait(sock,waitMilliseconds) ;
|
||||
return Socket::hasDataToReadWithWait(sock,waitMicroseconds) ;
|
||||
}
|
||||
|
||||
bool Socket::hasDataToReadWithWait(PLATFORM_SOCKET socket,int waitMilliseconds) {
|
||||
bool Socket::hasDataToReadWithWait(PLATFORM_SOCKET socket,int waitMicroseconds) {
|
||||
bool bResult = false;
|
||||
|
||||
Chrono chono;
|
||||
@ -1098,7 +1098,7 @@ bool Socket::hasDataToReadWithWait(PLATFORM_SOCKET socket,int waitMilliseconds)
|
||||
|
||||
/* Wait up to 0 seconds. */
|
||||
tv.tv_sec = 0;
|
||||
tv.tv_usec = 1000 * waitMilliseconds;
|
||||
tv.tv_usec = waitMicroseconds;
|
||||
|
||||
int retval = 0;
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user