Оптимизация Windows для игр в 2022 году

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

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


Содержание

Внимание!

Гайд рассчитан на создание игровой системы с минимальным внесением изменений в работу ОС, так что вы можете без опасений что-то сломать, следовать всем рекомендациям.

Актуальность драйверов

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

Установка и обновление
Индексация оборудования
Установка
Результат
  1. Скачиваем и устанавливаем желаемую версию Snappy Driver Installer.
  2. Извлекаем файлы архива в любую папку.
  3. Запускаем файл SDI_x64_R2000.exe (64-bit) или SDI_R2201.exe (32-bit). (Желательно от имени администратора).
  4. Производим индексацию оборудования.
  5. Выполняем установку всего, что нашлось и перезагружаем ПК.

PS. Более подроно о установке драйвера и чем он является, вы всегда можете найти здесь.

После установки всех драйверов необходимо выполнить «правильную» найстройку устройств ввода и Windows. Что я имею в виду?

Геймерская настройка Windows

В современных версиях операционной системы Windows часто не учитывается геймерская направленность, потому как сама ОС изначально заточена для разных задач. Выполним по порядку базовые настройки ОС для геймера.


Отключим мешающие алгоритмы поведения мыши для повышения точности её наводки и срабатывания в игре.

  1.  Нажимаем Win+R и в появившемся окне вводим команду control.
  2. В старой панели управления заходим в выделенные разделы.
Настройка клавиатуры
Настройка мыши
Настройка мыши

Снимаем галочки, что отвечают за акселерацию и лишние темы мыши, и повышаем скорость работы клавиатуры.

По идее, большинство гайдов на этом и заканчиваются. Но есть проблема. Даже выполнив все эти действия, мы не получим правильного перемещения нашего грызуна и желаемого отклика. Чтобы всё исправить, необходимо задействовать скрытые настройки в реестре.

Cкрытые настройки реестра

 

Вновь задействуем Win+R и вводим команду regedit. В появившемся окне поэтапно вносим изменения ниже. Правда если вам лень заниматься всей этой магией вручную, то вы всегда можете запустить этот файл (от администратора) в котором я уже прописал все настройки заранее.

Сглаживание мыши и отклик наведения
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Mouse]
"MouseSpeed"="0"
"MouseThreshold1"="0"
"MouseThreshold2"="0"

Эти параметры отключат повышенную точность указателя, когда скорость курсора увеличивается вслед за физическим увеличением скорости передвижения грызуна в руке. Зачем это нужно? При стандартных настройках мышка сама доводится до нужного объекта, если вы немного ошиблись или не довели. Для шутеров подобное поведение грызуна приносит большие проблемы с прицеливанием. Дополнительно советую также изменить параметр «MouseHoverTime»=«0» - это помогает убрать задержку при наводке на объекты в системе.


Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Mouse]
"SmoothMouseXCurve"=hex:\
  00,00,00,00,00,00,00,00,\
  C0,CC,0C,00,00,00,00,00,\
  80,99,19,00,00,00,00,00,\
  40,66,26,00,00,00,00,00,\
  00,33,33,00,00,00,00,00
"SmoothMouseYCurve"=hex:\
  00,00,00,00,00,00,00,00,\
  00,00,38,00,00,00,00,00,\
  00,00,70,00,00,00,00,00,\
  00,00,A8,00,00,00,00,00,\
  00,00,E0,00,00,00,00,00

В Windows 10 существует старый баг, когда разница между физическим перемещением мыши и перемещением курсора зависит от масштабирования экрана. Чтобы исправить ситуацию, принудительно изменим параметры SmoothMouseXCurve и SmoothMouseYCurve, которые отвечают за ускорение мыши по горизонтали и вертикали в режиме масштабирования 1 к 1.

Скорость курсора
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Mouse]
"MouseSensitivity"="10"

Этот параметр отвечает за скорость перемещения курсора, его не рекомендуется изменять, ибо от него зависят многие параметры для расчёта движения мыши. Он всегда должен быть равен 10.

Приоритет исполнения и задержка ввода
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mouclass\Parameters]
"MouseDataQueueSize"=dword:00000014

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdclass\Parameters]
"KeyboardDataQueueSize"=dword:00000014

Параметры MouseDataQueueSize и KeyboardDataQueueSize отвечают за количество информации, которая может храниться в буфере драйвера мыши и клавиатуры. Чем меньше значение, тем быстрее новая информация будет обрабатываться. Принцип работы похож на очередь кадров в видеокарте, когда мы принудительно убираем фоновую подготовку очереди кадров, чтобы сразу получать настоящий. В нашем случае оптимальным значением будет 20.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mouclass\Parameters]
"ThreadPriority"=dword:0000001f

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdclass\Parameters]
"ThreadPriority"=dword:0000001f

Выставим обработку драйверов клавиатуры и мыши в режиме реального времени.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Accessibility]
"StickyKeys"="506"

[HKEY_CURRENT_USER\Control Panel\Accessibility\ToggleKeys]
"Flags"="58"

[HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Response]
"DelayBeforeAcceptance"="0"
"AutoRepeatRate"="0"
"AutoRepeatDelay"="0"
"Flags"="122"

Вновь отключим дополнительную задержку при нажатии клавиш мыши и клавиатуры, а также уберём залипание при двойном нажатии Shift.

Дополнительная часть самого муторного гайда подошла к концу. Переходим к следующему пункту настроек.

Перенос исполнения ввода

Вторым важным изменением, которое следует применить для мыши и клавиатуры — это выполнить перенос исполнения задач ввода с первого ядра CPU и активировать серверный режим опроса устройств (MSI). Зачем это нужно? Всё дело в задачах Windows, что обрабатываются первым ядром с устаревшим режимом прерывания. Такой режим работы устройства создаёт очередь исполнения и может вызывать задержки. 

Посмотреть что крутится на первом ядре, можно с помощью Latency Moon. Выполним перенос.

  1. Скачиваем и извлекаем файлы в любую папку.
  2. Запускаем файл MSI_util_v3.exe. (Желательно от имени администратора).
  3. Активируем режим MSI для, где есть надпись LineBased, Msi, MsX.
  4. Выставляем приоритет High для мыши.
  5. Применяем изменения (Apply) и перезагружаем ПК.

Таким нехитрым образом, мы задействовали серверный режим опроса устройств и немного прибавили плавности. Перейдём к переносу задачи с первого ядра.

  1. Скачиваем и извлекаем файлы.
  2. Запускаем файл intPolicy_x64.exe (Желательно от имени администратора).
  3. Находим в списке нужные устройства и кликаем пару раз. Если вышла ошибка, то это устройство поддерживает перенос.
  4. Переходим к редактированию через Set Mask и выделяем нужное ядро, применяем.
  5. Перезагружаем ПК.

Поздравляю! Если скука вас ещё не съела, то вы весьма сильны желанием стать быстрее всех. Шутка. Мы почти завершили редактирование параметров, влияющих на задержку ввода. Перейдём к DPC Latency.

DPC Latency

Чтобы не нагружать вас технической информацией, вам лишь следует знать, что чем ниже показатели DPC Latency, то тем выше плавность системы. Сравнить её можно с резким увеличением герцовки монитора. Фокус и состоит в том, что герцовка не увеличивается, а плавность прибавляется. Посмотреть свою задержку можно с помощью Latency Moon.

Лишнии устройства и задержка

Ранее я уже писал, какая Windows не геймерская ОС, которая так и ждёт, чтобы вставить очередную палку в колёса бедному геймеру. Система почему-то считает, что отключение устройства от питания или его затормаживание во время игры - это совершенно нормально. Отключим такое странное поведение и удалим лишние устройства.

  1. Заходим в диспетчер устройств.
  2. Вид, показать скрытые устройства.
  3. Удаляем все серые устройства из списка.
  4. Для всех остальных через правый клик убираем галочки в разделе управления.
  5. Перезагружаемся.

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

Звук

Переходя к теме звука, сто́ит отметить его весомую значимость в плане влияния на задержки ввода, так как всё, что выше 44100 Гц, начинает почему-то несоизмеримо грузить систему, если у вас нет отдельной звуковой карты. Я не знаю, связано ли это с усложнением синусоиды сигнала, но на технических форумах часто ссылаются на саму схему реализации звука в Windows. Ладно, всё это рассуждения, а нам пора переходить к исправлению проблемы.

  1. Переходим в старой панели управления во вкладку звук.
  2. Отключаем все неиспользуемые устройства, кроме вывода звука и микрофона.
  3. Через правый клик по активному устройству изменяем качество выводимого звука до 44100 Гц и аналогично у микрофона.
  4. Во вкладке звуки выставляем профиль без звука для отключения системных звуков Windows.

После данных измеений вы вновь должны ощутить прибавку в плавности.

Электропитание

Как я уже писал ранее, о Создатель, а это уже третий раз, что Windows ни разу не геймерская ОС и не заточена под нужды геймера. В настройках электропитания Windows содержатся механизмы, которые могут влиять на плавность и стабильность во время игровой сессии. К значимым механизмам, мешающих геймеру, можно отнести парковку ядер, настройки электросбережения, а также небольшие параметры, отвечающие за различные таймеры/функции, которые также влияют на DPC Latency.

Прежде чем приступать к исправлению, необходимо отредактировать параметры реестра для получения возможности изменения скрытых настроек. В этом нам поможет бесплатная утилита Power Settings Explorer.

  1. Скачиваем и извлекаем файлы.
  2. Запускаем файл PowerSettingsExplorer.exe (Желательно от имени администратора).
  3. Находим в списке USB3 Link Power Management, разрешить состояния снижения питания
     и NVIDIA Display Power Settings Technology (если у вас карта Nvidia).
  4. Снимаем галочки и переходим к редактированию схемы электропитания.

Переходя к схеме редактирования электропитания, желательно удалить все схемы, кроме «Высокая производительность».
Вводим в CMD команды:

powercfg -delete a1841308-3541-4fab-bc81-f71556f20b4a
powercfg -delete 381b4222-f694-41f0-9685-ff5bb260df2e

Параметры электропитания:

  • Жёсткий Диск — Отключать жёсткий диск через — Состояния (мин): 0 мин.
  • Internet Explorer — Частота таймера JavaScript — Значение: Максимальная производительность.
  • Параметры фона рабочего стола — Слайд-шоу — Значение: Приостановлено.
  • Параметры адаптера беспроводной сети — Режим энергосбережения — Значение: Максимальная производительность.
  • Сон — Сон после — Значение: Никогда.
  • Cон — Разрешить таймеры пробуждения — Значение: Никогда.
  • Параметры USB — Параметры временного отключения USB-порта — Значение: Запрещено.
  • Параметры USB — USB 3 Link Power Mangement — Значение: Off.
  • PCI Express — Управление питанием состояния связи — Значение: Откл.
  • Управление питанием процессора — Разрешить состояние снижения питания — Значение: Выкл.
  • Управление питанием процессора — Минимальное состояние процессора — Настройка: 100%.
  • Управление питанием процессора — Политика охлаждения системы — Значение: Активный.
  • Управление питанием процессора — Максимальное состояние процессора — Настройка: 100%.
  • Экран — Отключить экран через — Значение: Никогда.
  • Экран — Время ожидания до отключения экрана блокировки — Значение: 0 Мин.

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

Парковка ядер

В Windows со времён Windows Vista, если я не ошибаюсь, существует механизм парковки ядер, который был призван обеспечить продление жизни ноутбуков путём отключения или снижения производительности ядер процессора. В игровых сессиях работа этого алгоритма может привести к падению FPS. Чтобы избежать этой проблемы, необходимо вновь лесть в реестр, но мы воспользуемся бесплатной утилитой Unpark-CPU.

  1. Скачиваем и извлекаем файлы.
  2. Запускаем файл UnparkCpu.exe (Желательно от имени администратора).
  3. Передвинем ползунок в правую сторону.
  4. Нажимаем Unpakr All и применить (Apply).
  5. Перезагружаем ПК.

С доведением до ума настроек электропитания мы закончили. Можно переходить к отключению заплаток процессора.

Твик приоритета прерывания
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl]
"IRQ8Priority"=dword:00000001

Это небольшой твик для установки повышенного приоритета прерывания. Вновь используем regedit или готовый файл.

Meltdown/Spectre/Zombieload

В своё время много шума наделало обнаружение уязвимостей для процессоров Intel и AMD, но ещё больший шум наделали патчи, которые «исправляли» дыры с существенной потерей производительности CPU. Если вы не Джеймс Бонд и не читаете этот материал с рабочего ПК, то смело отключайте патчи, ибо кто им дал право резать наш FPS.

Windows Registry Editor Version 5.00

; отключение патчей Meltdown и Spectre
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"FeatureSettings"=dword:00000001
"FeatureSettingsOverride"=dword:00000003
"FeatureSettingsOverrideMask"=dword:00000003

; отключение патча Zombieload v2
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel]
"DisableTsx"=dword:00000000

Опять вносим наши изменения в параметры реестра через regedit или скачиваем и применяем заранее готовый файл. После перезагрузки мы должны получить прибавку в работе процессора от 5 до 30% в зависимости от поколения CPU. Перейдём к пингу.

Пинг

Windows очень любит надёжность, поэтому она плевать хотела на то, что вы геймер, ибо её алгоритмы задействованы на подтверждение получения и отправки пакетов с одной лишь ей ве́домой логикой задержки. Заставим систему сделать упор на скорость приёма и отправку пакетов.

  1. Переходим в старой панели управления во вкладку центр управления.
  2. Изменить параметры адаптера.
  3. Через правый клик по активному устройству нажимаем свойства.
  4. Убираем все галочки кроме (TCP/IPv4).
  5. По кнопке настроить, во вкладке дополнительно, отключаем электросбережения.
  6. Применяем.

Это основные параметры, которые отвечают за торможение интернета. Я напоминаю, что в зависимости от производителя и новизы сетевого адаптера, некоторых из них может и не быть. Перейдём к завершающему шагу настроек интернета. 

Windows также через реестр регулирует работу интернета вне зависимости от настроек вашей сетевой карты. Таких параметров пара сотен, и изменять их вручную - это ад. Воспользуемся бесплатной утилитой TCP Optimizer 4.

  1. Скачиваем и запускаем TCPOptimizer.exe (Желательно от имени администратора).
  2. Выставляем в интерфейсе программы Optimal или как на скриншоте.
  3. Применяем.
  4. Перезагружаем ПК.

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

Системные таймеры и Hpet

Разрешение таймера по умолчанию в Windows составляет 15,6 мс — это является весьма высоким значением, которое приводит к лишнему энергопотреблению и траты впустую большого количества вычислительных мощностей — замедляя работу вашего компьютера! Хотя некоторые мультимедийные программы и игры сами могут фиксировать значение таймера для увеличения производительности, но они никогда не выставляют его меньше 1 мс. Чтобы исправить эту проблему и принудительно назначить время таймера для повышения производительности и отклика, а также чтобы не возиться с лишним ПО, выполним установку фоновой службы, которая и станет отвечать за наш таймер.

  1. Скачиваем и извлекаем файлы на диск.
  2. Переходим в папку и запускаем файл Installer.bat (Желательно от имени администратора).
  3. Выбираем в списке желаемый таймер, я советую 2.
  4. Дожидаемся окончания установки. (После установки не удалять!).
  5. Можно закрыть ПО.

Значение нынешнего таймера после установки можно проверить нажав 8 в интерфейсе ПО.

С постоянным таймером закончили. В Windows существует ещё множество таймеров, отвечающих за производительность. Одним из главных можно назвать Hpet. Конечно, в интернете бытует мнение, что его лучше не трогать, но главное - не отключать его в BIOS, а в самой Windows это даже нужно делать для избавления от стартеров и для увеличения FPS.

Вводим в CMD команды:

bcdedit /set disabledynamictick yes
bcdedit /set useplatformtick yes

Отключаем в диспетчере устройств таймеры.

Иногда он может быть подписан как High Precision Even Timer или Высокоточный таймер событий. Аналогично советую отключить Intel Management, ибо он также сильно тормозит систему. Перезагружаем ПК и проверяем драйверы через Snappy Driver Installer. Там должны будут появиться наши таймеры. Обновляем таймеры и вновь отключаем их в диспетчере устройств.

Фанфары, гром и молния! Поздравляю с завершением сокращённого гайда по оптимизации Windows без поломки. Вы можете гордиться собой! Вы были упорны и стали быстрее всех!

Заключение

Кто-то назовёт автора сумасшедшим и не простит отсутствия итогов всего ада выше, но я могу поставить честь и совесть, а также 14-летний опыт оптимизации Windows-систем, что выполнив все эти действия, вы станете быстрее всех! Конечно, можно было бы применить ещё некоторые твики и ПО для очистки и удаления телеметрии, но тогда бы гайд разросся ещё больше, и был бы шанс поломать систему. В общем, пользуйтесь и будьте быстрее всех.