netsh int tcp set global autotuninglevel=disabled
netsh int tcp set global autotuninglevel=normal
Thanks to everyone who helped with the theme, it happened to me exactly as Hellbovin reported, the speed was limited to 2.2MB/s per download, I tested up to 4 simultaneous downloads and all with the same speed.TCP Window Auto-Tuning and Bufferbloat:
I've added my take on the debate, plus extensive test data, as there's misinformation and confusion in some of the replies that need to be clarified. Networking is very complicated, so I'm going to keep my focus on proving that this setting can lower speeds, like Luckscent reported (link).
I always do actual testing to figure out how things work in the real world because it often paints a different picture than what the people arguing over whitepaper theory, placebo, or incomplete/improper testing results come up with. My point isn't to put anyone down, but to stress just how important benchmarking and testing is, and it really does not get done enough (or properly) across the whole internet.
TEST DATA
I am subscribed to gigabyte speeds with my internet service provider (ISP), using ethernet on an older gaming computer. My ISP says I should theoretically achieve up to 940 Mbps download/upload at a sustained rate, if all conditions are optimal.
Tuning Default (Waveform.com/tools/bufferbloat):
Grade D, Unloaded 15 ms, Download Active +20 ms, Upload Active +245 ms, Download 960.3 Mbps, Upload 927.8 Mbps
Note: lower milliseconds (ms) is better, higher download/upload is better
Tuning Disabled (Waveform.com/tools/bufferbloat):
Grade A+, Unloaded 15 ms, Download Active +0 ms, Upload Active +0 ms, Download 206.7 Mbps, Upload 417.7 Mbps
Result: latency improved, but download was decreased by 78% and upload decreased by 55%
Tuning Default (Speedtest.net):
Download 944.98 Mbps, Upload 941.03 Mbps, Ping 7 ms, Download Latency 8 ms, Upload Latency 86 ms
Note: lower milliseconds (ms) is better, higher download/upload is better
Tuning Disabled (Speedtest.net):
Download 897.62 Mbps, Upload 390.77 Mbps, Ping 6 ms, Download Latency 8 ms, Upload Latency 7 ms
Result: latency improved, but download decreased by 5% and upload decreased by 58%
Other Computers:
I also tested a Chromebook and a new Windows laptop, but they had the same issues (both using Wi-Fi), so my old gaming desktop cannot be to blame since these other devices performed the same, especially since my desktop on ethernet achieves the 940 Mbps theoretical speeds.
File Downloads:
I downloaded the latest Windows 10 ISO from Microsoft using tuning disabled versus normal. With the default tuning, it took 2 minutes and 38 seconds to download the 5.7 GB file. When I disabled tuning, it took 22 minutes and 25 seconds, which is a 751% increase in download time!
TEST CONCLUSION
As you can see in the test data above, messing with the TCP Tuning or numerous other settings haphazardly can absolutely cripple a network. The reason why Speedtest.net only had minimal loss on the download speed after disabling this tuning setting is because that test establishes multiple-connections, allowing for high speeds despite the tuning setting.
If you run Speedtest.net again as a single-connection, it encounters the same problem as the Waveform.com test, in fact it gets even worse, which tells me that Waveform.com is also using multiple-connections, but just less of them so you notice the crippled speeds more easily. Running a single-connection at Speedtest.net gives me about 78 Mbps for download/upload, which is more than a 90% decrease in speeds I'm paying for! If I then change the tuning setting back to normal it gives me around 890 for download/upload on the single-connection test.
For people that have used the script and have low speeds, you can reverse it with a powershell command (then reboot):
Set-NetTCPSetting -settingname internet -autotuninglevellocal normal
TCP TUNING DISCUSSION
I think some of the TCP Tuning is being confused with Nagle's Algorithm because Nagle is the original source of "200 ms delay" comments on the internet, when it was discovered many years ago to affect the ping in some games. The most important networking concept to know is that many settings have to be set in relation to each other, otherwise mismatched settings can do more harm than good.
TCP Tuning has multiple other settings that work alongside it, and disabling the tuning window just sets it to a fixed size, which is much smaller than the default and is why the speeds were harmed. You don't have to take my word for it either, here's Philip from Speedguide.net saying the same thing (link). Philip is the owner of the very popular TCP Optimizer tool so he has a lot of knowledge on the topic.
There's more tests that can and should be done for networking to check for packet loss and other important factors, but the tests here were enough to show that download/upload can be negatively affected in a massive way by this one tweak.
BUFFERBLOAT DISCUSSION
Ultimately, bufferbloat is a pointless conversation since it's not really in the user's control, and your time is much better spent on researching how to optimize your router and network adapter because that can give you across the board improvements for everything, rather than a setting like TCP Tuning which could be good for one person and bad for the next.
Bufferbloat.net is where this topic became popular, and lists these "solutions" for users:
- Use ethernet instead of Wi-Fi
- Buy a router that has SQM
- Enable Explicit Congestion Notification (ECN) in Windows
- Enable Compound TCP (CTCP) in Windows
You'll notice that changing the TCP Tuning is not one of their recommendations, and all 4 of those solutions can be problematic because not everyone has the choice of using ethernet, SQM isn't guaranteed to solve it, and ECN/CTCP both come with pros and cons. This problem is simply not coming from a user's computer, and that website isn't trying to help people fix the problem on their machines, instead they are trying to get people to help them petition internet service providers, router/modem manufacturers, and governments to fix the root of the problem.
TLDR: Disabling TCP tuning can cripple your bandwidth by a colossal amount. Also, bufferbloat isn't a worthwhile topic for tweaking enthusiasts to discuss since it's mostly out of our control. Our time is better spent elsewhere, such as tweaking the router and network adapter settings, which can improve things across the board for everything, instead of messing with settings that can go either way.
Exactly this command, I corrected it and it worked!The only TCP/IP tweak that matters in the latest PostSetup.ps1:
Code:Set-NetTCPSetting -settingname internet -autotuninglevellocal disabled
This setting is questionable, it may have negative impact on older network devices that don't handle RFC 1323, and slow down HTTP-based requests. It's intended to increase bulk network transfer between local machines.
I'm not a fan of hoarding random tweaks, unless you can explain every one of them. At a certain point some tweaks will be self-defeating and because you're not actually testing each one separately for effectiveness.
I started typing up a reply with tips and it began turning into a full guide lol. I have plans to release a network guide in the future, but I really want to finish version 2.0 of my Optimized Image first.Can anything be improved regarding latency in this report?
I had to jump in here hahahaahahahahaha Yeah Edge (Legacy) hahahaaah is so true do, it fixes everythingI haven't heard of OneCore UAP required for Discord, but it might need Edge (Legacy) for the IE11 libraries. Think I'm starting to sound like a broken record with this recommendation. Just Edge (Legacy) -- you don't need Edge, EdgeWebview or EdgeUpdater.
UPDATE: Added a new note to the preset post, so I don't need to repeat myself.
Always integrate your languages into a clean ISO image (1), then apply Windows updates (2), and GamerOS preset last (3). This order is very important for it to work.I used the preset with minimal modifications, but I don't have any language (keyboard) bar at taskbar, as it was originally.
Installed a second typing language, but it doesn't work at all (Shift+Alt). Does anyone know how to recover it and where to change it in NTLite for future installations?
powershell -nop -ep bypass "$List = Get-WinUserLanguageList; $List.Add("fr-FR"); $List.Add("de-DE"); Set-WinUserLanguageList -LanguageList $List -Force"
1) Download and extract 22H2 to a folder, which I load it in NTLiteMy method was:
1) Extraction of the downloaded W1122H2v2.iso to a folder, which I load it in NTLite
2) Downloaded and Enqueded Windows updates
3) Load GamerOS preset
4) Enable 2nd language for the keyboard from the settings that were disabled
5) Started my modifications (still can't enable MS Store, I need it for AV1/HEVC/HEIF/NVIDIA control panel/Dolby Atmos) going through each menu, many things worked, but the MS Store pre-installations didn't work (ie. Dolby Atmos). Couldn't find any other of the above codecs & NVIDIA panel.
6) Inserted the PowerShell command from Post-Setup (User) with my native language as given above.
7) Created the ISO and burned it to a USB drive via Rufus, where I needed to disable TPM requirement (from Rufus) although it was prior disabled in NTLite. Without it can't install custom ISO via USB, which seems very strange that some tweaks don't work from NTLite.
Excellent, many thanks; it did work fine with all the essentials I needed, and the machine now breaths fresh air!1) Download and extract 22H2 to a folder, which I load it in NTLite
2) Download additional Language Packs, using this PowerShell GUI script.
3) Add LP's as updates. Apply to image, integrate. Save this new image as your master ISO, instead of using a clean ISO.
4) Download and enqueue Windows updates
5) Load GamerOS preset
6) Enable 2nd language for the keyboard from the settings that were disabled
7) Started my modifications (still can't enable MS Store, I need it for AV1/HEVC/HEIF/NVIDIA control panel/Dolby Atmos) going through each menu, many things worked, but the MS Store pre-installations didn't work (ie. Dolby Atmos). Couldn't find any other of the above codecs & NVIDIA panel.
8) Inserted the PowerShell command from Post-Setup (User) with my native language as given above.
9) Created the ISO and burned it to a USB drive via Rufus, where I needed to disable TPM requirement (from Rufus) although it was prior disabled in NTLite. Without it can't install custom ISO via USB, which seems very strange that some tweaks don't work from NTLite.
When you apply the TPM bypass, it must be added to boot.wim (WinPE Setup). You can check Reapply tasks across editions / Configure - Settings in Apply screen to save yourself time instead of loading boot.wim separately.
Windows: Start > Settings > Personalization > Taskbar > Select which icons appear on the taskbar > Always show all icons in the notification area1) How do I enable in NTLite the hidden icons at the taskbar, next to the clock? It seems to be constantly having all icons visible and I need to hide most of them.
This is probably a bug from a component removal. Open File Explorer then right-click on a drive and select "Eject" to safely disconnect a device as an alternative approach, until someone figures out which component causes this issue.2) Now, it lacks the ability to "Safely remove USB drives". The menu pops up but it doesn't do anything as it did in the past. How can I disconnect any removable drive now without damage? Can it be re-enabled somehow?
is there any free alternative for the same??Most of the GamerOS's removals are components unlocked in the licensed NTLite version. If you're using free edition, many of them won't be applied and skipped over. The Post-Setup script is entirely optional to run.
Maybe u can convert ur preset to a playbook that can be used in AME wizard a project by ameriolated.io so then both the paid and free users can use that playbook, just a suggestion though!!!!!!Most of the GamerOS's removals are components unlocked in the licensed NTLite version. If you're using free edition, many of them won't be applied and skipped over. The Post-Setup script is entirely optional to run.
NTLite is supported by the hard work of one developer. If you want to play with other debloating projects, that's your call.Maybe u can convert ur preset to a playbook that can be used in AME wizard a project by ameriolated.io so then both the paid and free users can use that playbook, just a suggestion though!!!!!!
Ntlite is well worth the buy, bought it full price originally it's just that good. It's the Christmas gift that just keeps giving.Maybe u can convert ur preset to a playbook that can be used in AME wizard a project by ameriolated.io so then both the paid and free users can use that playbook, just a suggestion though!!!!!!