emulator opengles: improve TcpStream throughput
This patch improves the performance of the TcpStream implementation on the host by disabling the Nagle algorithm, thus improving the bandwidth of small packets. When used with the corresponding change in the emulator, this significantly improves the speed of OpenGLES emulation for many applications. Change-Id: Ic09e51ecddf04bc7d667f46e1d260030d5fcad88
This commit is contained in:
@@ -23,6 +23,9 @@
|
||||
|
||||
#ifndef _WIN32
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/tcp.h>
|
||||
#else
|
||||
#include <ws2tcpip.h>
|
||||
#endif
|
||||
|
||||
TcpStream::TcpStream(size_t bufSize) :
|
||||
@@ -39,6 +42,15 @@ TcpStream::TcpStream(int sock, size_t bufSize) :
|
||||
m_bufsize(bufSize),
|
||||
m_buf(NULL)
|
||||
{
|
||||
// disable Nagle algorithm to improve bandwidth of small
|
||||
// packets which are quite common in our implementation.
|
||||
#ifdef _WIN32
|
||||
DWORD flag;
|
||||
#else
|
||||
int flag;
|
||||
#endif
|
||||
flag = 1;
|
||||
setsockopt( sock, IPPROTO_TCP, TCP_NODELAY, (const char*)&flag, sizeof(flag) );
|
||||
}
|
||||
|
||||
TcpStream::~TcpStream()
|
||||
|
||||
Reference in New Issue
Block a user