Vinnaren i pepparkakshustävlingen!
2010-06-17, 11:43
  #1
Medlem
Jag snubblade idag på en länk till en blogg som beskriver hur man kan minska responstiden i spel genom att inaktivera 'Nagles algoritm'.

Detta är tydligen någonting som Windows intruducerat redan i Vista, men jag har aldrig hört talas om det tidigare.

Nagles algoritm ser enligt wikipedia ut såhär
Kod:
if there is new data to send
  if the window size >= MSS and available data is >= MSS
    send complete MSS segment now
  else
    if there is unconfirmed data still in the pipe
      enqueue data in the buffer until an acknowledge is received
    else
      send data immediately
    end if
  end if
end if

Jag har som sagt aldrig hört talas om detta tidigare, så nu vill jag höra vad flashback har att säga om detta. Länken till bloggen är http://lifeandcode.net/2009/05/reduce-game-network-latency-in-windows-7-or-vista/
Citera
2010-06-17, 13:33
  #2
Medlem
Garnaals avatar
Citat:
Applications that expect real time responses can react poorly with Nagle's algorithm. Applications such as networked multiplayer video games expect that actions in the game are sent immediately, while the algorithm purposefully delays transmission, increasing bandwidth at the expense of latency. For this reason applications with low-bandwidth time-sensitive transmissions typically use TCP_NODELAY to bypass the Nagle delay.

Saxat från wikipedia om Nagle's algorithm.

Jag har inte gjort denna ändring, jag upplever dock inte särskilt hög ping öht. Förmodligen för att de allra flesta FPS-spelen (om inte alla) överför data via UDP.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in