Що змінює цей розділ
Більші черги вводу, коротше застигання при зависанні хука вводу, коротша затримка повтору клавіш. Ніщо з цього не змушує клік надходити раніше.
| Налаштування | Що воно робить | Шлях у реєстрі |
|---|---|---|
| Розмір черги даних миші | Піднімає буфер звітів драйвера класу миші зі 100 до 150. Затримку це не скорочує; воно не дає миші з високою частотою губити звіти, коли потік читання зупиняється. Те саме значення пишеться й у mouhid, де нічого, що б його читало, не знайдено. | HKLM\...\Services\mouclass + mouhid\Parameters\MouseDataQueueSize |
| Розмір черги даних клавіатури | Піднімає буфер звітів клавіш драйвера класу клавіатури зі 100 до 150. Затримку це не скорочує; воно лишає запас проти втрати вводу. Те саме значення пишеться й у kbdhid, де нічого, що б його читало, не знайдено. | HKLM\...\Services\kbdclass + kbdhid\Parameters\KeyboardDataQueueSize |
| Обмежити, як довго завислий хук вводу блокує мишу | Windows пропускає хук вводу, який перестав відповідати, коли спливає цей тайм-аут; це встановлює його на одну секунду — максимум, який дозволяють Windows 10 1709 і новіші. Типове значення, коли параметр не задано, не задокументоване й не вимірювалося. Хук, який лише сповільнюється під навантаженням, теж може бути відкинутий; перезапуск програми, якій він належить, повертає його. | HKCU\Control Panel\Desktop\LowLevelHooksTimeout |
| Скоротити затримку повтору клавіш до найкоротшого кроку | Скорочує пів секунди очікування перед повтором затиснутої клавіші до 250 мс (найкоротший крок) і ставить найшвидшу частоту повтору. Окремі натискання у грі крізь це не проходять; різницю видно в консолі, чаті та меню. Надто охоче під час набору? Скасуй на сторінці Fix. | HKCU\Control Panel\Keyboard\KeyboardDelay + KeyboardSpeed |
Як це застосувати
- Відкрий w0a
- Перейди на сторінку Твіки реєстру у лівому меню
- Знайди цей розділ і натисни Застосувати на потрібних тобі записах
У кожного запису своя кнопка, тому застосовувати весь розділ ніхто не вимагає — а якщо тобі потрібні всі, вгорі сторінки для цього є Застосувати все.
Як це скасувати
Два шляхи, і обидва працюють:
- Резервні копії та відновлення — повертає контрольну точку, записану перед застосуванням зміни.
Повертає все, що було застосовано після тієї точки, разом із пізнішими контрольними точками, — вікно підтвердження каже саме це, перш ніж почати.
- Сторінка Fix — шукається за симптомом, безумовно записує стандартне значення Windows. Вона
не читає резервну копію, тож працює навіть тоді, коли власного файлу резервної копії w0a вже немає.
Журнал скасування лежить у %ProgramData%\w0a\backup.json, поза твоїм профілем користувача.
Ризик
Усе тут — задокументовані значення, які Windows підтримує; нічого з цього не є рівнем ядра і нічого з цього не є незворотним. Чесне речення все одно таке: налаштування може не дати тобі жодної вимірної користі. Якщо ти застосував зміну й не відчув різниці, ти, найпевніше, маєш рацію — ці сторінки не продають тобі відчуття, вони кажуть тобі, що було змінено.
Якщо хочеш це виміряти, діє правило з як читати результат бенчмарку: змінюй по одній речі за раз і читай low, а не середнє.
Спершу — чесне речення
Жоден із чотирьох пунктів не змушує клік чи натискання клавіші дійти до гри раніше. Два роблять буфер глибшим, щоб ввід рідше губився, коли потік, який його читає, підвисає; один скорочує час, на який завислий хук вводу може заморозити мишу й клавіатуру; один змінює те, що робить затиснута клавіша. Чи змінює хоч один із них щось у матчі, не виміряно: втрачені звіти миші жодного разу не рахували зі збільшеною чергою і без неї, а таймаут хука має значення лише тоді, коли хук уже перестав відповідати.
Пункт за пунктом
Розмір черги даних миші — записує MouseDataQueueSize=150 (REG_DWORD) у HKLM\SYSTEM\CurrentControlSet\Services\mouclass\Parameters і те саме в HKLM\SYSTEM\CurrentControlSet\Services\mouhid\Parameters. Типово драйвер класу має 100, а в чистій Windows під mouhid значення немає взагалі. Це глибина черги, а не налаштування затримки: менша черга не може передати звіт раніше, вона лише раніше починає відкидати звіти, коли щось на мить перестає її розбирати, а на миші з частотою 8000 Гц відкинутий звіт — це втрачений ввід. 150 — це запас, за якого пам'ять черги не вважається безкоштовною. Відомо, що значення читає лише mouclass; пошук у mouhid.sys (10.0.26100.1) такої назви не знаходить, і цей запис лишається, доки його не виміряють. Значення читається під час завантаження драйвера: набуває чинності після перезавантаження.
Розмір черги даних клавіатури — те саме для клавіатури: KeyboardDataQueueSize=150 (REG_DWORD) у HKLM\SYSTEM\CurrentControlSet\Services\kbdclass\Parameters і HKLM\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters. Типово kbdclass має 100, а під kbdhid немає нічого; у kbdhid.sys такої назви теж немає. Набуває чинності після перезавантаження.
Обмежити, як довго завислий хук вводу блокує мишу — записує LowLevelHooksTimeout=1000 (REG_DWORD, мілісекунди) у HKCU\Control Panel\Desktop. Оверлеї, програми для макросів і чати ставлять низькорівневі хуки, крізь які по черзі проходить кожна подія вводу. У документації Microsoft сказано, що хук, який не повернув керування за цей час, пропускається — у Windows 7 і новіших мовчки видаляється, — і що починаючи з Windows 10 1709 1000 мс — це максимум, який дозволяє Windows. Секунди досить для хука, який просто зайнятий, і досить мало, щоб завислий не відчувався як заморожування. Компроміс: хук, який лише повільний під навантаженням, теж може бути скинутий; перезапуск тієї програми повертає його. Типово у Windows значення немає. Скільки Windows чекає в такому разі, Microsoft не каже, а ми не вимірювали. Набуває чинності після виходу із системи й повторного входу.
Скоротити затримку повтору клавіш до найкоротшого кроку — записує KeyboardDelay="0" і KeyboardSpeed="31", обидва REG_SZ, у HKCU\Control Panel\Keyboard. Windows постачається з "1" і "31". За даними Microsoft, 0 — це приблизно 250 мс, а 31 — приблизно 30 повторів на секунду; реальні цифри залежать від заліза. Рядки — тому що DWORD, записаний поверх них, Windows ігнорує. KeyboardSpeed записується навіть за типового значення 31: профіль спеціальних можливостей може залишити його нижчим. Набуває чинності після виходу із системи й повторного входу.
Як перевірити самому
reg query "HKLM\SYSTEM\CurrentControlSet\Services\mouclass\Parameters" /v MouseDataQueueSize
reg query "HKLM\SYSTEM\CurrentControlSet\Services\mouhid\Parameters" /v MouseDataQueueSize
reg query "HKLM\SYSTEM\CurrentControlSet\Services\kbdclass\Parameters" /v KeyboardDataQueueSize
reg query "HKLM\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters" /v KeyboardDataQueueSize
reg query "HKCU\Control Panel\Desktop" /v LowLevelHooksTimeout
reg query "HKCU\Control Panel\Keyboard" /v KeyboardDelay
reg query "HKCU\Control Panel\Keyboard" /v KeyboardSpeed
reg query виводить DWORD у шістнадцятковому вигляді: 150 — це 0x96, 100 — 0x64, 1000 — 0x3e8. Відсутність значення під mouhid чи kbdhid, як і відсутність LowLevelHooksTimeout, — це те, що має чиста Windows.
Чого цей розділ не робить
Він не чіпає швидкість вказівника. Колись один пункт примусово ставив MouseSensitivity на немасштабовану позначку 6/11, перекриваючи швидкість, яку люди обрали самі. Ігри, що читають raw input, цього значення ніколи не бачать, тож у грі воно не змінювало нічого, а поза грою змінювало все; його прибрали.
Він ніколи не робить чергу меншою. Одна з ранніх збірок записувала 20 — менше за типові 100 — під підписом, що обіцяв глибшу чергу; менша черга не може доставити звіт раніше, вона може лише раніше його втратити.
Поза цією сторінкою
На сторінці «Fix» картка Черги вводу повертає обидва значення черг; Частота і затримка повтору клавіш відновлює пару значень повтору, не чіпаючи мишу; Фокус вікон і допоміжні програми видаляє таймаут хука; Миша, клавіатура і сенсорна панель відновлює черги й пару значень повтору, а заразом скидає прискорення вказівника і сенсорну панель. Прискорення миші — окремий пункт на сторінці «Оптимізації», Вимкнути прискорення миші (стабільне прицілювання). Якщо клік здається запізнілим, Чому мій приціл запізнюється і Чому натискання клавіш запізнюються в іграх розбирають увесь ланцюжок.
Які налаштування Windows щось змінюють у грі, кому кожне допомагає і кому не дає нічого: Налаштування Windows 11 для ігор, які справді важать
Ця сторінка допомогла?
Чого бракувало або що не спрацювало? Ми читаємо кожну таку відповідь.
Якщо ця сторінка не розв'язала проблему, напиши нам — скажи, яку статтю ти читав, і ми виправимо статтю.