ТЕХНОЛОГИЯ

Как это работает

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

Обновлено: 2026-08-27
Коротко

w0a меняет настройки Windows — значения реестра, планы электропитания, вызовы драйверов. Он ничего не пишет на уровне ядра, не ставит собственный драйвер, не внедряет код в игры и не читает память игр. Каждое изменение реестра и плана электропитания записывается вместе с прежним значением и откатывается в один клик.

Три шага

1. Запусти. Установщика нет: один исполняемый файл, правый клик, «Запуск от имени администратора». Права администратора нужны потому, что меняемые настройки общесистемные — процесс уровня пользователя их не запишет.

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

3. Примени и измерь снова. Включи, что хочешь, — по одному переключателю, если хочешь знать, какой из них что дал, — и сними второй замер на той же сцене с теми же внутриигровыми настройками.

Как на самом деле работает откат

Перед записью значения старое читается и добавляется в журнал по пути %ProgramData%\w0a\backup.json — вместе с ключом, именем значения, его типом и отметкой, существовало ли оно вообще. Записи группируются в контрольные точки, так что пакет, применённый во вторник, можно откатить одним блоком, не трогая то, что ты сделал в среду.

Журнал живёт в %ProgramData%, а не в твоём профиле пользователя, потому что откат выполняется с повышенными правами и берёт инструкции из этого файла. По той же причине файл — не произвольный скрипт: откатить можно только пути из белого списка, вшитого в приложение, поэтому подделанный журнал нельзя использовать, чтобы записать что-то туда, куда не следует.

Страница Fix — вторая половина, и от журнала она не зависит вовсе. Каждая карточка безусловно записывает обратно дефолт Windows — так что машину можно починить, даже если w0a её никогда не трогал, если журнал удалён или если значение поменяло что-то другое. Поэтому же странице Fix разрешено удалять значения, которые остальному приложению писать нельзя.

Полная процедура отката, шаг за шагом

Что он отказывается делать и почему

Никаких значений уровня ядра. Ключи управления памятью Session Manager — paging executive, large system cache, использование памяти NTFS, запросы разрешения таймера — отклоняются сразу, а если такой когда-нибудь добавят, тест в сборке упадёт. За страницей Fix сохраняется право их удалять: старую установку от какого-нибудь другого инструмента должно быть можно починить.

Никаких ключей MPO и TDR. Тестовый режим оверлеев, отключение оверлеев, задержка TDR и уровень TDR не пишутся. На реальной машине они замораживали CS2, а страница реестра возвращает TdrDelay обратно к дефолту Windows, вместо того чтобы его поднимать.

Никаких инъекций, никакой памяти игр. В игровой процесс ничего не загружается, и ничто его память не читает. Единственные записываемые игровые файлы — конфиг CS2 и параметры запуска Steam, которые ты сам просишь на странице Launch Options, и оба сначала бэкапятся. Обещать что-то от имени какого-либо разработчика античитов мы всё равно не можем — но ничего из поведения, которое они ищут, у этой программы нет.

Никакого собственного драйвера. Температуре CPU и таймингам RAM нужны чтения ring-0, которых Windows не даёт. Для них — и только с твоего одобрения — ставится подписанный драйвер PawnIO: он читает и никогда не пишет. Откажешься — эти два показания просто будут недоступны.

Как он измеряет

Время кадров берётся из собственного потока событий Windows. Ни оверлея, ни хуков, ни внедрённой DLL: потребляются те же события, которые операционная система и так испускает, и превращаются в средний FPS, 1% low и статтеры в минуту. Важная цифра именно 1% low — средний может расти, а игра при этом ощущаться хуже, и ровно этот случай одна средняя цифра скрывает.

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

«До» и «после» идут парой. Результаты хранятся парами, и сравнение предлагается, только когда есть оба замера. Число, которое не с чем сравнить, ничего не доказывает.

Как читать цифры задержки

Почему он замолкает во время матча

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

Всё стартует выключенным

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

Что не измеряется и что не обещается

Насколько всё это поможет, зависит от машины, игры и сетевого маршрута, и w0a не делает вид, что это не так. Нигде в продукте нет обещания «10x FPS». Сетевые изменения не улучшат уже забитый маршрут; процессор, упёршийся в свой лимит мощности, не поднимет частоту оттого, что сменился план. То, что инструмент гарантирует, куда скромнее — и проверяемо: он говорит, что именно изменил, больше ничего не менял и может вернуть каждое из этих изменений назад.

Посмотреть, что входит Скачать