Ответ на пост «Как уменьшить пинг в играх и увеличить плавность на Windows 10/11»

Поднялась волна негодования на пост ТС о том как "оптимизировать" Windows. Давайте подойдем с технической и, насколько это возможно, объективной стороны и посмотрим что же делают предложенные изменения.

1. ShutUp10. Перейдя на страницу проекта узнаем, что проект закрыт а все наработки ушли в проект winutil. То есть -- софт уже не актуален.
Применение "рекомендованных" настроек отключает некоторые службы которые как раз ускоряют работу систем (с некоторыми оговорками).
Да, зачем ОС знать какими приложениями ты чаще всего пользуешься, чтобы держать их на быстром старте, зачем люди придумали кэши, зачем трудились над логикой работы управления таблицами страниц ОЗУ...
Более того -- большинство этих настроек, если не все -- можно сделать из панели управления Windows, раздел конфиденциальность.

2. WPD.
Службы сбора информации о состоянии системы. Проще говоря -- логи.
Отключать логи -- стрелять себе в ноги. В случае происшествия, когда машина в отказе -- только логи могут помочь тебе произвести посмертный анализ сложившейся в прошлом ситуации.
На производительности системы это сказывается не сильно, только вот я бы предпочел чтобы ресурсы системы на логирование тратились.
Поэтому отключать их -- не разумно.

Относительно участия в программах улучшения качества -- настраивается в панели управления Windows. Нагрузка на систему -- минимальная.
Никто и никогда не держит эти службы запущенными. Они запускаются по расписанию и когда машина не используется. Поэтому на производительность не влияет.
Остальные службы, по типу PerfTrack, распознавание ввода -- полезные для рядового пользователя службы, которые трогать не стоит. Потому что... Зачем?
Что-то на мобилках никто не жалуется, когда клавиатура подсвечивает опечатки или предлагает дальнейшие слова. А на ПК -- изгнание. Логично.

3. >Если же вы гуру IT и вам не нужны обновления Windows с автоматической установкой драйверов, а также вы не пользуетесь Microsoft Store, то смело в двух программах отключайте всё и вся!

Обновления выключать не стоит. Если ты IT'шник, то отключение автоматизации -- это боль.
Вся суть любых технологий -- упрощение и автоматизация.
Пусть прилетают новые фичи и закрытия дырок. Их не просто так выпускают. Так же как и обновления драйверов.

MS Store -- очень удобная штука, потому что не требуется лазить по сайтам (разной степени паршивости) и качать оттуда установочные файлы.
Для автоматизации есть Chocolatey и\или winget.

С учетом того, что все это можно сделать через панель управления... Зачем использовать ПО третьей стороны?
С точки зрения железа: да, у шедуллера меньше процессов для обработки. Но процессы от которых мы избавились имеют смехотворные требования к своему выполнению.
Процессорное время на них выделяется не с приоритетом и мизерное количество. А с учетом того, что у нас многоядерные процессоры стоят уже даже в кофеварках -- это пыль.
Так же современные процессоры Intel имеют не равные ядра. Обычно у них парочка "мощных" ядер и еще парочка "энерго-эффективных". И вот именно они занимаются этой пылью и прочей дребеденью.

Так уж сложилась история, что пользователи и админы начали жаловаться, что есть постоянные процессы которые жрут процессорное время и мешают отзывчивости системы.
К примеру: антивирусы.
Было найдено решение -- больше ядер, больше оптимизаций конвейеров, специализированные ядра под эти задачи.
Теперь на отзывчивости не сказывается.
Если у тебя старое железо и ты хочешь заставить систему летать -- это можно. Но сама система для тебя бесполезна. Потому что комп тебе нужен для программ. А вот программы и используют ресурсы. И как бы быстро у тебя не открывались условные менюшки -- софт на старом железе быстрее шуршать не будет. Разве что только больше софта поместиться в память.
Если на твоей старой машине "тормозил" хром, то поверь, после "оптимизации" системы вот такими методами -- хром все еще будет "тормозить".


4. Переходим к сети.
*Автор использует только IPv4 и только его я и буду касаться.

Автор очень поверхностно описывает один протокол взаимодействия. TCP. И раскатывает его на работу интернета в целом. Да и смешивает козла с ослом.

TCP это протокол 4-го уровня. Под ним лежат еще три.
TCP это протокол с гарантированной доставкой. Установка соединения происходит в 3 действия:

Отправкой SYN (тук-тук), получением SYN+ACK (ага, получил тук-тук, подтверждаю), SYN (я подтверждаю что получил подтверждение).

Дальше происходит работа по протоколу оному. Когда на каждую отправку пакета приходит подтверждение.
Но! Это медленно, если после каждого пакета (если они маленькие) ждать подтверждение о получении. Поэтому имеется такая штука как TCP-окно.
Оно вычисляется почти постоянно для каждого соединения и оно динамическое. Позволяет посылать пачку пакетов (когда находится оптимальный размер окна) и получать подтверждение для пачки, а не для одного пакета.

Большинство сетевых игр не используют TCP для общения клиента и сервера. Они используют UDP. Протокол с не гарантированной доставкой.
Когда потеря пакета и\или точная последовательность пакетов не стоит в приоритете. Каждое нажатие кнопок с частотой обновления раз в 1000 м\с... Так ли важно, что мы потеряем пачку пакетов? Нет.
Так же как с потоком видео. Если мы на Youtube потеряли один кадр.
Мы это заметим? Нет. А нас это волнует покуда поток идет? Нет.

Теперь к размеру пакета. Обычно он именуется как MTU и в зависимости от контекста может пониматься как часть разных уровней.
В общем смысле это количество информации которую можно запихнуть в один пакет. Если не помещается -- фрагментация на большее количество пакетов.
Настройкой MTU стоит заниматься только людям, которым это надо.
Потому что если начать изменять MTU по своему хотению -- станет плохо или вообще перестанет работать.

Вообще сетевой стэк дело тонкое и если нет понимания "зачем" тебе его настраивать -- не настраивай, оставь на автоматику. Она сама сделает тебе хорошо.

Насчет обработки сети процессором: сеть всегда обрабатывается в один поток, на одном ядре в единый момент времени.
Более того: процессор не работает напрямую с пакетами. Он работает с буфером памяти контроллера который и занимается всем взаимодействием.
Если сетевой адаптер работает по стандарту Fast Ethernet, то его буфер будет одного размера. Если Gigabit Ethernet -- побольше.
И разгребать эту очередь всегда будет одно ядро. Приоритеты трафика... Оно же QoS.
Если ты не знаешь зачем оно тебе -- оставь на автоматику. Сделаешь только хуже, если полезешь без точного понимания зачем ты туда лезешь.

Не надо отключать фичи сетевые, они полезные. "Зелености" смехотворно влияют на производительность сети, они работают над оптимизацией вычислений для работы сети. Подробности настройки описаны в документации по Windows.

А теперь почему козел с ослом.
Все что выше описывалось имеет бОльшее отношение к пропускной способности.
То есть к ширине канала. Что в случае видео-игр имеет мало смысла.
Играм хватает меньше мегабита в секунду. Иногда и 200 Кбит вообще за глаза.
Так на кой черт играться с шириной, когда она больше 100Мбит?

Что очень коряво хотел описать автор -- задержка.
И лично меня бесит, когда задержку описывают "пингом". Ping это утилита. Для работы с протоколом ICMP (Internet Control Message Protocol, L3, наряду с IP) которая в основном используется для работы с эхо-сообщениями (ICMP Echo Request, ICMP Echo Reply). И там есть логика которая оценивает время между отправкой и получением ответа на эхо.

Да и потом, открытые системы телекоммуникаций (одной из которых является интернет) рассчитаны на общение, а не на исключительное вещание.
И так как интернет это ячеистая сеть по своей сути, то прямой связи между отправителем и получателем нет.
Она строится через посредников (хопы на "админском").
Вереница хопов, или маршрут строится посредствами разных протоколов и на разных уровнях. Начинается все с физики (витая пара, опта, радио-канал, коаксиал).
Дальше L2, основным протоколом является MAC (но и других важных там полно, типа arp, ICMP, etc.). Тут железная связь.

Но будь мы только на физике завязаны, то сидело бы как в прошлом много теть-дядь в специальных комнатах и переключали бы провода.
Люди додумались переложить эту работу на железки. Посредством уровня L3, маршрутизации. Вот тут у нас и вылазит протокол IP,TCP,UDP, etc. И мы не можем знать все адреса интернета. Потому что они не постоянны.
Чтобы иметь постоянно актуальный список всех маршрутов -- на это не хватит мощностей всех вычислительных систем мир (наверное).
Поэтому используется, к примеру, NAT, BGP, OSPF.


Знаете что тут самое главное? То, что у пользователя ПК НЕТ НАД ЭТИМ ВЛАСТИ.
Власть пользователя заканчивается на его роутере. Все.
Все дальнейшие путешествия пакета (задержки, джиттер, скорости, обработки файрволлами) -- не во власти пользователя. Поэтому он не может улучшить весь путь.
Вот ПК <> роутер -- да. Но и тут это будет смешнейшая и незаметная погрешность в масштабах всего пути.

OverAll
все что было написано до сего момента автором -- отключение служб, уменьшение активных системных процессов, "оптимизация сети"...
Делает ли это систему в целом более "отзывчивой" в процентном соотношении? Да.
Делает ли это систему заметно "отзывчивой"? Нет. Это погрешности.
Делает ли это систему более "надежной"? Нет. Скорее наоборот, лишает смысла труды огромного количества людей которые хотели сделать технологии простыми и доступным.

Автор статьи поводил вилами по воде. Без понимания сути того, что делает. Не разбираясь в настройках которые делаешь.
Автор поста тоже молодец. По сарафанному радио потащил тайны которые скрывали админы.

pikabu GAMES

2.9K постов7.7K подписчиков

Добавить пост

Правила сообщества

Коротко: никаких "кулвидосиков" с нарезкой геймплеев и смешных моментов, никаких комиксов, артов, косплея и т.д. Только полезная и важная информация для геймеров.

Помни!

- Новостные/информационные публикации постим в pikabu GAMES
- Развлекательный контент в Лигу Геймеров