Getting Rid of Bufferbloat – Network Optimization for Gaming
The topic of bufferbloat and network tweaking on your gaming PC is quite debated with different stances being taken. My take on this subject is quite simple – if I can measure a decrease in latency/jitter with autotuning disabled (getting rid of bufferbloat) without having to sacrifice a major portion of my internet speed then I am fine with it.
What Is Bufferbloat?
Spikes in your latency and jitter, whenever you upload or download something on your network because of a software issue, is the simplest way you can understand bufferbloat. This means that no matter how fast your internet is, the moment you do something besides gaming on your PC, you might experience degraded network performance during your gameplay.
How Do You Get Rid of Bufferbloat?
To get rid of this network software issue you can use the following command in CMD: netsh int tcp set global autotuninglevel=disabled (to revert the value and enable autotuning use: netsh int tcp set global autotuninglevel=normal)
To test that the setting was applied correctly use the following command: netsh interface tcp show global.
If everything went smoothly then you can use the following site to test for bufferbloat and your results should look something like this.
A minimum amount of jitter, and no latency penalty for uploading or downloading on the network while gaming. You can also use something like WinMTR which is a traceroute and ping all-in-one network diagnostic tool to ensure your local connection to your network is as stable as possible.
What Are the Downsides?
The issue with disabling autotuning to get rid of bufferbloat is that it reduces your internet speed. In reality, this means nothing for gaming since during gaming you need a stable, low-latency connection. As long as the speed of your connection is above 25Mbps, the internet speed you have makes no difference while actually in the game.
I have tested my internet connection after disabling autotuning and out of the advertised 1000Mbps download I am supposed to get, I consistently get 945Mbps. With autotuning on, my download speed is at around the same level (960-980Mbps). It is unclear to me whether this small difference is of any importance (in terms of percentage it is so low that you can just say it’s within the margin of error) to certain individuals, but for my case, I simply do not care about it.
I have also downloaded different games with autotuning on and off to see if I can see a difference, but usually, I get capped by the server speed before I can use my full bandwidth. When I do get to use my 1000Mbps download, it gets used fully with either setting making no difference during downloads either.
Conclusion
My advice when it comes to this particular network issue is to test autotuning on/off for yourself. Depending on your hardware, network speeds, and location, your results might differ from mine (the good old test-it-for-yourself thing).
In my case, I see no reason not to disable autotuning since I can get a better, more stable connection with less jitter and I do not lose anything in terms of game downloads or internet browsing. Even if I am losing a certain percentage of speed it is so minuscule that I could never notice it.
If you do experience issues you can always return autotuning to its normal value without any consequences.
Although this may have worked for you, on one machine, a household with multiple machines will still bufferbloat your link, and a better option is to install a router with SQM (Cake) on it.
This is great to know about. Appreciate you sharing this. Thank you.
Unfortunately a big downside is that single connection speeds tank hard. It’s a bit like using Windows SMB with only 1 thread (e.g. Robocopy with /MT:1). Even though your link is 1 gigabit; you only get about a quarter of that. I also get about a quarter of my actual internet line speed, at home and at work, using 1 connection, using the tweak. I have to use multiple connections to get the full line speed. Without the tweak; 1 connection can saturate the line.
I had been aware of this problem for a few years but never found any answers for how to fix the bloat or what causes it. one command and i just dropped +40ms upload latency and +30ms Download.
What you need to be aware of is that in the end the bufferbloat “fix” we are applying is more like a bandaid fix that just limits the speeds you can use at one time so your “pipeline” doesn’t get clogged and causes bufferbloat. A real fix for this issue would be using a good router that can manage network traffic well. Most people however have basic routers provided by their ISPs so the autotuning command change makes sense.
my ping is 20-30 download latency ok but upload latency over 300. Why?
Probably just means you have a weaker upload speed so the bufferbloat test shows higher latency.