Сетевые твики

Что каждый пункт на странице «Интернет» записывает, чего не трогает и какой из них способен изменить исход матча — большинство не способно, и страница об этом говорит прямо.

Сначала — честное предложение

Ничто на странице «Интернет» не снижает ваш средний пинг. Пинг — это расстояние до сервера плюс очередь в вашем роутере, и настройка на вашем ПК не меняет ни то, ни другое. Эти пункты могут убрать небольшие, вполне конкретные задержки, возникающие на вашей же машине, — микросекунды, иногда несколько миллисекунд под нагрузкой, — и только там, где механизм, которого они касаются, вообще есть в вашем железе. Где его нет, пункт ничего не записывает и говорит об этом в журнале.

Ни одна настройка здесь не заменит кабель. Wi-Fi может скакнуть на десятки миллисекунд от одной-единственной помехи, и ни один пункт этой страницы ничего не делает с помехами.

Пункт за пунктом

Отправлять подтверждения TCP, не придерживая их — записывает TcpAckFrequency=1 в HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<GUID>, только для проводных адаптеров, которые подняты и являются физическими. Виртуальные адаптеры — VPN-tap, WSL, Hyper-V — пропускаются. Windows ждёт до 40 мс, чтобы объединить подтверждение со вторым сегментом; здесь оно отправляется сразу. Это касается только TCP. CS2, Valorant, Fortnite, Apex, Dota 2 и League of Legends играют по UDP, где это ничего не меняет. Эффект виден в TCP-играх (Minecraft Java) и на сессионном трафике MMO или ARPG — самое большее несколько десятков миллисекунд на один цикл «запрос — ответ». Wi-Fi пропускается намеренно: удвоение числа исходящих кадров тратит эфирное время, которое использует загрузка. Вступает в силу после перезагрузки.

Отключить энергосбережение сетевого адаптера — записывает PnPCapabilities=8 в раздел класса адаптера, то же самое, что снять галочку «Разрешить отключение этого устройства для экономии энергии» в диспетчере устройств. По умолчанию галочка снята, и вот в чём размен: с этим значением Windows считает карту такой, питанием которой управлять нельзя, поэтому пробуждение ПК из сна по сети перестаёт работать, а на ноутбуке карта в Modern Standby останавливается, а не переводится в простой — пока крышка закрыта, ничего не приходит. Выигрыш — один пакет после периода простоя, а игра никогда не даёт линку простаивать. Значение записывается только тогда, когда драйвер действительно предоставляет управление питанием; встроенный драйвер Microsoft, который Windows Update ставит для многих карт Realtek, его не предоставляет — там пункт говорит об этом и ничего не записывает.

Отключить Energy Efficient Ethernet — записывает 0 в тот параметр EEE, который объявляет драйвер (*EEE, EnableGreenEthernet, AdvancedEEE, EnableSavePowerNow, EEELinkAdvertisement), в том типе, в котором драйвер его хранит. EEE (802.3az) между пакетами переводит линк в энергосберегающий простой, и выход из него стоит примерно до 16 микросекунд на гигабите — это не тот пинг, который можно увидеть. Настоящая причина отключать — стабильность: некоторые карты 2.5G с включённым EEE теряют линк, и сама Intel для своего семейства I225/I226 советует его отключить. Цена — около половины ватта на линк в простое, а на ноутбуке это батарея. Драйвер, который не объявляет ни одного из этих параметров, пропускается, и сообщение об этом говорит; драйвер производителя может открывать эту настройку там, где встроенный её не открывает.

Отключить выборочную приостановку адаптера — появляется только на настольном ПК, драйвер адаптера которого объявляет *SelectiveSuspend, и по умолчанию не отмечен. Записывает 0 в этот параметр, в том типе, в котором его хранит драйвер. Выборочная приостановка позволяет Windows перевести простаивающий адаптер в режим низкого потребления через несколько секунд без трафика (по умолчанию пять); первый пакет после этого ждёт, пока адаптер проснётся. Игра никогда не оставляет соединение в простое так долго, поэтому в матче это ничего не меняет — выигрыш касается первого пакета после паузы, и он не измерен. Microsoft рассчитывает этот механизм на адаптеры USB 1.1 и 2.0; драйверы большинства проводных карт его не объявляют, и там флажок не появляется. Цена — потребление в простое, поэтому на ноутбуке флажок не показывается никогда. Вступит в силу после перезапуска адаптера — отключи и включи его в диспетчере устройств или перезагрузись. Делает ли он на той же карте что-то сверх «Отключить энергосбережение сетевого адаптера», не измерено.

Поднять приёмные буферы адаптера до максимума драйвера — появляется только там, где адаптер, через который идёт трафик, измеримо отбрасывал принятые кадры: по его собственному счётчику отбросов с последнего запуска — не меньше 0,01% из не менее чем 100 000 принятых; это то число, которое показывает Сканер фризов. По умолчанию флажок снят — и на настольных ПК, и на ноутбуках, — а в подписи стоят оба числа. Записывает *ReceiveBuffers на верхнюю границу диапазона, который объявляет INF драйвера, — никогда не число, выбранное w0a, — и только если она выше значения, с которым работает карта; значение, вручную поднятое ещё выше, никогда не понижается. Карта, у которой приёмные буферы под нагрузкой переполняются, отбрасывает то, что приходит следом: сегмент TCP отправляется заново не раньше чем через время кругового обхода, а UDP-пакет игры не приходит вовсе. В описании параметра у Microsoft сказано, что адаптеру со слишком малым числом буферов их может не хватить под высокой нагрузкой; руководство Intel по настройке советует поднимать их, когда принятые пакеты отбрасываются, и оценивает цену примерно в 2 КБ памяти на буфер. Без измеренных отбросов это ничего не даёт, поэтому флажок тогда и не появляется. Действует после перезапуска адаптера, и счётчик отбросов тогда начинается с нуля. Что это меняет для пинга или кадров, не измерялось; на ПК, где пишется w0a, максимум встроенного драйвера Realtek — 512, карта уже работает на нём и не отбросила ничего за 3,8 миллиона кадров.

Вернуть значения TCP по умолчанию — выполняет netsh int tcp set global autotuninglevel=normal, rss=enabled и ecncapability=disabled. Это то, с чем Windows поставляется. Пункт сначала читает текущее значение; на чистой машине все три уже верны, он ничего не записывает и говорит об этом. Он существует ради того, что оставляют после себя твик-скрипты, — совета «отключить auto-tuning», который обрушивает пропускную способность на любом канале с реальной задержкой, — и это починка, а не выигрыш, поэтому галочка снята и он не считается оптимизацией. RSS — глобальный переключатель; распределится ли обработка приёма по ядрам, зависит от того, предлагает ли адаптер RSS вообще, и сообщение говорит, предлагает ли ваш. У этих трёх нет записи для отката; карточка «Сетевые настройки» на странице «Fix» возвращает их обратно.

Для пинга под нагрузкой — записывает 0 в *FlowControl, *InterruptModeration, *RscIPv4 и *RscIPv6 там, где адаптер их объявляет, и выполняет netsh int tcp set global rsc=disabled. Управление потоком позволяет коммутатору приостановить отправку с этого ПК (это важно, когда карта 2.5G питает гигабитный роутер, и только когда вы отдаёте трафик). Модерация прерываний собирает пакеты пачками до того, как их увидит процессор: от десятков до сотен микросекунд. Объединение сегментов склеивает принимаемые сегменты TCP перед передачей наверх; игровой трафик UDP через него никогда не проходит, а его отключение стоит процессорного времени при загрузках. Всё это — микросекунды против очереди в роутере, которая измеряется миллисекундами. Безусловно записывается только управление потоком — кадры паузы задерживают за собой каждый пакет, и этого не хочет ни одна машина. Остальные три — это размен, поэтому они пропускаются на машинах меньше чем с шестью физическими ядрами, где лишние прерывания стоят дороже, чем экономят, и на каналах быстрее 2,5 Гбит. Ни один из четырёх не записывается там, где адаптер не объявляет нужный параметр, а сообщение перечисляет ровно то, что было записано.

Приоритет для отдельного приложения (QoS) — этого пункта больше нет; w0a не записывает для игры политику QoS. Вся суть пункта была в метке, а от пометки трафика отказались: интернет-провайдеры в основном её игнорируют, а некоторые считают помеченный трафик не тем, что нужно пропустить вперёд, а тем, что нужно ограничить, — и замедляют его или отбрасывают. Если более ранняя версия записала правило на этом ПК, карточка «Настройки сети» на странице «Fix» его удаляет.

Страница DNS — измеряет каждый резолвер по обычному UDP и записывает выбранную пару в адаптер, который несёт ваш трафик (оба семейства адресов там, где оператор публикует IPv6, иначе IPv6 возвращается в автоматический режим). Задержка DNS меняет то, насколько быстро разрешается имя: первое подключение к серверу, браузер, начало загрузки. Пинг в матче она не меняет.

Зашифрованный DNS (на странице DNS) — выключен, пока его не включат. Включает встроенный в Windows DNS over HTTPS для серверов, которыми пользуется адаптер, и только там, где Windows уже знает для них зашифрованный адрес (Cloudflare, Google и Quad9); для любого другого сервера говорит об этом и ничего не записывает, а резолвер, который держит программа на самом ПК, оставляет этой программе. Это настройка приватности: сеть по пути больше не может прочитать из DNS-трафика, какие имена запрашиваются; адреса серверов, к которым вы подключаетесь, по-прежнему видны, и для пинга или FPS она ничего не обещает. Возврат к незашифрованному DNS остаётся выключенным, чтобы ни один запрос не ушёл незашифрованным втихую. После включения w0a запрашивает одно имя и сохраняет настройку, только если ответ пришёл и было видно, как DNS-клиент Windows подключается к серверу по HTTPS; иначе возвращает настройку обратно и говорит, чего из двух не было. Значения в мс на странице DNS — это замеры по незашифрованному DNS, а не время зашифрованного запроса. Как отменить: кнопка на карточке, страница «Бэкапы» или Fix > Подключение к интернету и DNS.

Что было убрано

Пункт под названием «Быстрее освобождать закрытые соединения» записывал TcpTimedWaitDelay=30 и StrictTimeWaitSeqCheck=1. Измерено: первое значение Windows 11 читает — TIME_WAIT закрытого соединения заканчивался на 30 секундах, — но решает оно то, как быстро закрытое соединение освобождает свой порт, а это проблема сервера; у одного ПК порты в игре кончиться не могут. Второе значение не встречается вообще ни в одном сетевом драйвере Windows. Пункту, который ничего не даёт игре, на странице не место, поэтому его больше нет. Если вы применяли его раньше, карточка «Сетевые настройки» на странице «Fix» удаляет оба значения, а старые записи отката по-прежнему открываются на странице «Бэкапы».

Как это откатить

политики QoS и переключатель для работы вне домена, стирают PnPCapabilities у физических адаптеров и TcpAckFrequency у каждого интерфейса. «Разгрузки сетевого адаптера» возвращают параметры адаптера — включая все написания EEE, выборочную приостановку и приёмные буферы — к собственным значениям драйвера из INF. Ни одна из них не зависит от файла резервной копии w0a.

За пределами этой страницы

Кабель вместо Wi-Fi. Роутер с SQM (fq_codel или cake), если кто-то качает, пока вы играете. Кабель убирает с пути радиоканал и его помехи; SQM держит очередь в роутере короткой, пока качается что-то другое. Ни одна настройка на вашем ПК не делает ни того, ни другого, а насколько это меняет ваше подключение, не измерялось.

Какие настройки Windows что-то меняют в игре, кому каждая помогает и кому не даёт ничего: Оптимизация Windows 11 для игр: какие настройки действительно влияют

w0a не меняет ни одной настройки Windows, пока ты не попросишь, а твик сохраняет старое значение, прежде чем записать новое. Сообщить мне

Эта страница помогла?

Чего не хватило или что не сработало? Мы читаем каждый такой ответ.

Если эта страница не решила проблему, напиши нам — скажи, какую статью ты читал, и мы её исправим.