Jump to content


 


Register a free account to unlock additional features at BleepingComputer.com
Welcome to BleepingComputer, a free community where people like yourself come together to discuss and learn how to use their computers. Using the site is easy and fun. As a guest, you can browse and view the various discussions in the forums, but can not create a new topic or reply to an existing one unless you are logged in. Other benefits of registering an account are subscribing to topics and forums, creating a blog, and having no ads shown anywhere on the site.


Click here to Register a free account now! or read our Welcome Guide to learn how to use this site.

Photo

TcpAckFrequency=1


  • Please log in to reply
7 replies to this topic

#1 VaynardX

VaynardX

  • Members
  • 121 posts
  • OFFLINE
  •  
  • Local time:12:27 PM

Posted 25 August 2009 - 11:38 AM

I play online games a lot, and latency issues are really a pain in the A**. As I have browsed some game forums, they suggested that I use this registry hack. Its called TcpAckFrequency. I think some of you guys heard of it. Anyway, I was just wondering, is this really effective? And does this really affect game latency? And, if I do this, will my torrent downloading be compromised?

BC AdBot (Login to Remove)

 


#2 Andrew

Andrew

    Bleepin' Night Watchman


  • Moderator
  • 8,258 posts
  • OFFLINE
  •  
  • Gender:Not Telling
  • Location:Right behind you
  • Local time:09:27 PM

Posted 25 August 2009 - 01:29 PM

Setting the TcpAckFrequency may improve your apparent ping but will not improve your actual network speed. If anything, it may make it worse by increasing the number of actual packets being transmitted by your machine for the same amount of data.

When a computer connects to another computer using TCP it performs what is known as the TCP Three-way Handshake. what happens is this:

1. Client computer sends a SYN (synchronize) packet to the server computer
2. Server computer sends a SYN-ACK (SYN-acknowledged) packet to the client computer
3. Client computer sends a final ACK (ACK acknowledged packet to the server computer.

Thus begins the TCP connection.

All these SYN, SYN-ACK, and ACK packets carry no actual data. The Windows network stack, since Windows 2000 has, by default, only responded to every other TCP SYN packet unless additional data packets are not received within a specific period of time (per RFC-1122). This reduces the total number of non-data packets that must be sent. Changing the referenced registry value to 1 will cause Windows to respond to every SYN packet, thus doubling the TCP overhead for a connection. While this will likely improve the "ping" rating you get in online games (since it takes a SYN packet less time to be ACKed) it will not increase the actual speeds of data transfer but reduce it.

Edited by Amazing Andrew, 25 August 2009 - 01:31 PM.


#3 VaynardX

VaynardX
  • Topic Starter

  • Members
  • 121 posts
  • OFFLINE
  •  
  • Local time:12:27 PM

Posted 25 August 2009 - 01:35 PM

^

Wow, that was a detailed summary.:D Anyway, regarding my question, does it really affect ping times, and does it affect downloads like ptp and ftp? And is it harmful to the system?

#4 Andrew

Andrew

    Bleepin' Night Watchman


  • Moderator
  • 8,258 posts
  • OFFLINE
  •  
  • Gender:Not Telling
  • Location:Right behind you
  • Local time:09:27 PM

Posted 25 August 2009 - 01:49 PM

Microsoft recommends against changing this value without having a detailed knowledge of the network stack and how it interfaces with your applications.

Both the BitTorrent and FTP protocols run on top of the TCP protocol. Therefore, I would day that using this hack would likely affect them negatively. Gnutella clients like Limewire use a combination of TCP, HTTP, QRP, and UDP. UDP and QRP do not rely on TCP whereas HTTP and (obviously) TCP do. Thus I would say that Gnutella might be broken by this tweak.

#5 VaynardX

VaynardX
  • Topic Starter

  • Members
  • 121 posts
  • OFFLINE
  •  
  • Local time:12:27 PM

Posted 25 August 2009 - 01:51 PM

^

Ok, thanks for the reply.:thumbsup: That's all I needed.:D

#6 Andrew

Andrew

    Bleepin' Night Watchman


  • Moderator
  • 8,258 posts
  • OFFLINE
  •  
  • Gender:Not Telling
  • Location:Right behind you
  • Local time:09:27 PM

Posted 25 August 2009 - 01:56 PM

:thumbsup:

#7 CaveDweller2

CaveDweller2

  • Members
  • 2,629 posts
  • OFFLINE
  •  
  • Gender:Male
  • Local time:12:27 AM

Posted 25 August 2009 - 03:23 PM

I can't give a better answer than AA =)

But if your goal is to make the games better: Keep the crap clean on your hard drive(cookies, temp files, etc...), Keep the load on the system to a min(close unneeded programs), Max the ram the OS can use, graphic cards - look at upgrading if you don't have a high(er) end card and lastly a can of compressed air and some paint brushes - clean the dust out. oh and for the love of god if you're connection is wireless buy some Cat5 cable hehe =)

Hope this helps thumbup.gif

Associate in Applied Science - Network Systems Management - Trident Technical College


#8 Mithos

Mithos

  • Members
  • 15 posts
  • OFFLINE
  •  
  • Local time:04:27 AM

Posted 14 December 2011 - 07:29 PM

I'm aware I'm necro'ing a thread, but I recently google searched for this, and I saw this thread had no definite conclusion (ie, no testing done). I'm just replying in case other weary travelers stumble upon this page (what with it being the 4th result for Google("TCPAckFrequency") and all). Sorry if that's really against the rules...destroy me or something if so.

I've actually tested this (and I somewhat know about Nagle and TcpNoDelay and sockets and stuff, being a developer and all) - and it depends on the game.

For whatever reason, it doesn't affect some games (doesn't seem to affect League of Legends, for example). Perhaps they already use sockets that send Acks back immediately, or the way they calculate the ping is independent of Nagling or something.

In other games, the results are pretty good. For Aion, my ping went from something like 400 to 200, thus making the game a bit more playable. In Aion, I did think I could feel the difference (as opposed to just observing a change in ping value)
I hear it also helps in WoW (though I've never played that).

That saying, it screws with network efficiency (like if you're sending stuff a character at a time, 90% of the network traffic will then be all of the packet headers and what not).

I recommend just trying it out. It's not a complicated registry hack (it's probably documented on MSDN somewhere actually) if I recall correctly. In a game, you typically want your mouse clicks to be transmitted immediately anyway. Bandwidth is unlikely to be under serious strain, since games don't tend to use a whole lot of it (and it's unlikely that you'll be torrenting from the machine in question while playing, if you're worrying about your ping).




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users