Eerst de eerlijke zin
Niets op de pagina Verbinding verlaagt je gemiddelde ping. Ping is de afstand tot de server plus de wachtrij in je router, en een instelling op je pc verandert geen van beide. Wat deze vakjes wél kunnen doen, is kleine, specifieke vertragingen wegnemen die op je eigen machine ontstaan — microseconden, soms een paar milliseconden onder belasting — en alleen waar het mechanisme dat ze aanraken op jouw hardware bestaat. Waar dat niet zo is, schrijft het vakje niets en zegt dat in het logboek.
Geen enkele instelling hier vervangt een kabel. Wi-Fi kan met tientallen milliseconden schommelen bij één enkel moment van storing, en geen enkel vakje op deze pagina doet iets aan die storing.
Vakje voor vakje
TCP-bevestigingen versturen zonder ze op te houden — schrijft TcpAckFrequency=1 onder HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<GUID>, alleen voor bedrade adapters die actief en fysiek zijn. Virtuele adapters — een VPN-tap, WSL, Hyper-V — worden overgeslagen. Windows wacht tot 40 ms om een bevestiging met een tweede segment te bundelen; dit verstuurt hem meteen. Het raakt alleen TCP. CS2, Valorant, Fortnite, Apex, Dota 2 en League of Legends spelen over UDP, waar het niets verandert. Het is merkbaar bij TCP-games (Minecraft Java) en bij het sessieverkeer van een MMO of ARPG — hooguit een paar tientallen milliseconden per heen-en-terugreis. Wi-Fi wordt bewust overgeslagen: het verdubbelen van het aantal frames stroomopwaarts kost zendtijd die de download gebruikt. Wordt van kracht na een herstart.
Energiebesparing van de netwerkadapter uitschakelen — schrijft PnPCapabilities=8 onder de klassesleutel van de adapter, hetzelfde als het uitvinken van “De computer mag dit apparaat uitschakelen” in Apparaatbeheer. Standaard uitgevinkt, en dit is de afweging: met deze waarde behandelt Windows de kaart als een kaart waarvan het het energiebeheer niet kan regelen, dus het wekken van de pc uit de slaapstand via het netwerk werkt niet meer, en op een laptop wordt de kaart in Modern Standby stilgelegd in plaats van inactief gehouden — er komt niets binnen zolang de klep dicht is. De winst is één pakket na een periode van inactiviteit, en een game laat de verbinding nooit inactief worden. Het wordt alleen geschreven als het stuurprogramma energiebeheer daadwerkelijk aanbiedt; het meegeleverde Microsoft-stuurprogramma dat Windows Update voor veel Realtek-kaarten installeert doet dat niet, en daar zegt het vakje dat en schrijft het niets.
Energy Efficient Ethernet uitschakelen — schrijft 0 naar het EEE-trefwoord dat het stuurprogramma opgeeft (*EEE, EnableGreenEthernet, AdvancedEEE, EnableSavePowerNow, EEELinkAdvertisement), in het type waarin het stuurprogramma het opslaat. EEE (802.3az) zet de verbinding tussen pakketten door in een energiezuinige ruststand, en het verlaten daarvan kost tot ongeveer 16 microseconden op gigabit — geen ping die je kunt zien. De echte reden om het uit te zetten is stabiliteit: sommige 2,5G-kaarten verliezen de verbinding als het aanstaat, en Intel adviseert zelf om het voor de I225/I226-familie uit te schakelen. De kosten zijn ongeveer een halve watt per verbinding in rust, en dat is op een laptop accu. Een stuurprogramma dat geen van de trefwoorden opgeeft wordt overgeslagen, en het bericht zegt dat; het stuurprogramma van de fabrikant biedt de instelling misschien wel waar het meegeleverde dat niet doet.
Selectieve onderbreking van de adapter uitschakelen — verschijnt alleen op een desktop waarvan het stuurprogramma van de adapter *SelectiveSuspend opgeeft, en staat standaard uit. Het schrijft 0 naar dat trefwoord, in het type waarin het stuurprogramma het opslaat. Met selectieve onderbreking zet Windows een inactieve adapter na een paar seconden zonder verkeer (standaard vijf) in een energiezuinige stand; het eerste pakket daarna wacht tot de adapter wakker is. Een game laat de verbinding nooit zo lang inactief, dus in een potje verandert het niets — de winst is het eerste pakket na een stille periode, en die is niet gemeten. Microsoft richt het mechanisme op USB 1.1- en 2.0-adapters; de stuurprogramma's van de meeste bekabelde kaarten geven het niet op, en daar verschijnt het vakje niet. De prijs is verbruik in rust, daarom toont een laptop het vakje nooit. Wordt van kracht wanneer de adapter herstart — schakel hem uit en weer in in Apparaatbeheer, of herstart. Of het op dezelfde kaart meer doet dan “Energiebesparing van de netwerkadapter uitschakelen”, is niet gemeten.
Ontvangstbuffers tot het maximum van het stuurprogramma verhogen — verschijnt alleen waar de adapter die het verkeer draagt meetbaar ontvangen frames heeft laten vallen: volgens zijn eigen teller sinds de laatste start minstens 0,01% van minstens 100.000 ontvangen — het getal dat de Stotterdetective toont. Het vakje staat standaard uit, op desktops en laptops, en het label draagt beide getallen. Het schrijft *ReceiveBuffers op de bovenkant van het bereik dat de INF van het stuurprogramma opgeeft — nooit een getal dat w0a kiest — en alleen als dat boven de waarde ligt waarmee de kaart draait; een waarde die met de hand verder is verhoogd, wordt nooit verlaagd. Een kaart waarvan de ontvangstbuffers onder belasting vollopen, laat vallen wat daarna binnenkomt: een TCP-segment wordt op zijn vroegst een round trip later opnieuw verstuurd, een UDP-gamepakket komt nooit aan. Microsofts beschrijving van de instelling zegt dat een adapter met te weinig buffers ze onder zware belasting kan opmaken; de tuninggids van Intel raadt aan ze te verhogen wanneer ontvangen pakketten wegvallen en schat de kosten op ongeveer 2 KB geheugen per buffer. Zonder gemeten verlies levert het niets op; daarom verschijnt het vakje dan niet. Het werkt zodra de adapter opnieuw start, en de verliesteller begint dan bij nul. Wat het met ping of frames doet, is niet gemeten; op de pc waarop w0a geschreven wordt, is het maximum van de meegeleverde Realtek-driver 512, draait de kaart daar al op en liet ze in 3,8 miljoen frames niets vallen.
De TCP-standaardwaarden terugzetten — voert netsh int tcp set global autotuninglevel=normal, rss=enabled en ecncapability=disabled uit. Dat is waarmee Windows wordt geleverd. Het vakje leest eerst de huidige waarde; op een schone machine kloppen alle drie al, schrijft het niets, en zegt het dat. Het bestaat voor wat tweak-scripts achterlaten — het advies om “auto-tuning uit te schakelen” dat de doorvoer laat instorten op elke verbinding met echte latency — en het is een reparatie, geen winst, en daarom staat het uitgevinkt en telt het niet mee als optimalisatie. RSS is een globale schakelaar; of de ontvangstverwerking over de cores wordt verdeeld hangt ervan af of de adapter RSS überhaupt aanbiedt, en het bericht zegt of die van jou dat doet. Deze drie hebben geen herstelrecord; de kaart “Netwerkinstellingen” op de Fix-pagina zet ze terug.
Voor ping onder belasting — schrijft 0 naar *FlowControl, *InterruptModeration, *RscIPv4 en *RscIPv6 waar de adapter ze opgeeft, en voert netsh int tcp set global rsc=disabled uit. Flow control laat een switch het versturen door deze pc pauzeren (dat doet ertoe wanneer een 2,5G-kaart een gigabitrouter voedt, en alleen wanneer je uploadt). Interrupt moderation bundelt pakketten voordat de CPU ze ziet: tientallen tot honderden microseconden. Segmentsamenvoeging voegt ontvangen TCP-segmenten samen voordat ze naar boven worden doorgegeven; UDP-gameverkeer gaat er nooit doorheen, en het uitzetten kost CPU bij downloads. Microseconden, allemaal, tegenover een routerwachtrij die in milliseconden wordt gemeten. Flow control is het enige dat onvoorwaardelijk wordt geschreven — pauzeframes houden elk pakket erachter tegen, en dat wil geen enkele machine. De andere drie zijn een afweging, dus ze worden overgeslagen op machines met minder dan zes fysieke cores, waar de extra interrupts meer kosten dan ze opleveren, en op verbindingen boven 2,5 Gbit. Geen van de vier wordt geschreven waar de adapter het trefwoord niet opgeeft, en het bericht somt precies op wat er wél is geschreven.
Prioriteit per app (QoS) — dit vakje is weg; w0a schrijft geen QoS-beleid meer voor een game. De markering wás de hele functie, en daar is mee gestopt: internetproviders negeren die meestal, en sommige behandelen gemarkeerd verkeer niet als iets om voorrang te geven maar als iets om af te knijpen — ze vertragen het of laten het vallen. Heeft een oudere versie op deze pc een regel geschreven, dan verwijdert de kaart “Netwerkinstellingen” op de Fix-pagina die.
DNS-pagina — meet elke resolver over gewone UDP en schrijft het gekozen paar naar de adapter die je verkeer draagt (beide adresfamilies waar de aanbieder IPv6 publiceert, anders wordt IPv6 teruggezet op automatisch). DNS-latency verandert hoe snel een naam wordt opgezocht — de eerste verbinding met een server, de browser, het begin van een download. Het verandert de ping tijdens de wedstrijd niet.
Versleutelde DNS (op de DNS-pagina) — uit tot je het aanzet. Het zet de eigen DNS over HTTPS van Windows aan voor de servers die de adapter gebruikt, en alleen waar Windows al een versleuteld adres voor ze kent (Cloudflare, Google en Quad9); bij elke andere server zegt het dat en schrijft het niets, en een resolver die een programma op de pc zelf draait, laat het aan dat programma over. Het is een privacy-instelling: het netwerk onderweg kan uit het DNS-verkeer niet meer lezen welke namen worden opgezocht; de adressen van de servers waarmee je verbinding maakt blijven zichtbaar, en voor ping of FPS belooft het niets. Terugvallen op onversleutelde DNS blijft uit, zodat een query niet stilletjes onversleuteld vertrekt. Na het aanzetten zoekt w0a een naam op en houdt de instelling alleen als het antwoord terugkwam en te zien was dat de DNS-client van Windows via HTTPS verbinding maakte met de server; anders zet w0a de instelling terug en zegt welke van de twee ontbrak. De ms-waarden op de DNS-pagina zijn metingen via onversleutelde DNS, niet de tijd van een versleutelde query. Ongedaan maken: de knop op de kaart, de pagina Back-ups of Fix > Internetverbinding en DNS.
Wat is verwijderd
Een vakje met de naam “Gesloten verbindingen eerder vrijgeven” schreef TcpTimedWaitDelay=30 en StrictTimeWaitSeqCheck=1. Gemeten: de eerste waarde wordt door Windows 11 gelezen — de TIME_WAIT van een gesloten verbinding eindigde na 30 seconden — maar wat die bepaalt, is hoe snel een gesloten verbinding zijn poort vrijgeeft, en dat is een probleem van een server; een enkele pc kan tijdens het gamen niet zonder poorten komen te zitten. De tweede waarde komt in geen enkel netwerkstuurprogramma van Windows voor. Een vakje dat niets doet voor een game hoort niet op de pagina thuis, dus het is weg. Als je het eerder hebt toegepast, verwijdert de kaart “Netwerkinstellingen” op de Fix-pagina beide waarden, en de oude herstelrecords laden nog steeds op de Back-ups-pagina.
Ongedaan maken
- Back-ups en herstel — zet het controlepunt terug dat vóór de wijziging is geschreven.
- De Fix-pagina — “Netwerkinstellingen” zet de globale TCP-waarden terug, verwijdert de
QoS-beleidsregels en de schakelaar voor buiten het domein, wist PnPCapabilities van fysieke adapters en TcpAckFrequency van elke interface. “Netwerkadapter-offloads” zet de trefwoorden van de adapter — inclusief de EEE-schrijfwijzen, selectieve onderbreking en ontvangstbuffers — terug op de INF-standaardwaarden van het stuurprogramma zelf. Geen van beide is afhankelijk van het back-upbestand van w0a.
Buiten deze pagina
Een kabel in plaats van Wi-Fi. Een router met SQM (fq_codel of cake) als er iemand downloadt terwijl jij speelt. Een kabel haalt de radio en zijn storingen uit het pad; SQM houdt de wachtrij in de router kort terwijl er iets anders downloadt. Geen instelling op je pc doet een van beide, en hoeveel ze op jouw verbinding veranderen, is niet gemeten.
Welke Windows-instellingen in een game iets veranderen, wie elke instelling helpt en voor wie hij niets doet: Windows 11-gaminginstellingen die er echt toe doen
Heeft deze pagina geholpen?
Wat ontbrak, of wat werkte er niet? We lezen elk van deze berichten.
Heeft deze pagina het niet opgelost, schrijf ons dan — noem het artikel dat je hebt gelezen, dan verbeteren we het.