Co tahle sekce mění
Větší vstupní fronty, kratší zamrznutí při zaseknutém vstupním hooku, kratší prodleva opakování kláves. Nic z toho nezpůsobí, že kliknutí dorazí dřív.
| Nastavení | Co dělá | Cesta v registru |
|---|---|---|
| Velikost datové fronty myši | Zvětší buffer reportů ovladače třídy myši ze 100 na 150. Latenci nezkracuje; brání myši s vysokou frekvencí ztrácet reporty, když se čtecí vlákno zadrhne. Zapisuje se i do mouhid, kde se nenašlo nic, co by to četlo. | HKLM\...\Services\mouclass + mouhid\Parameters\MouseDataQueueSize |
| Velikost datové fronty klávesnice | Zvětší buffer reportů kláves ovladače třídy klávesnice ze 100 na 150. Latenci nezkracuje; nechává rezervu proti ztrátě vstupu. Zapisuje se i do kbdhid, kde se nenašlo nic, co by to četlo. | HKLM\...\Services\kbdclass + kbdhid\Parameters\KeyboardDataQueueSize |
| Omezit, jak dlouho může zaseknutý vstupní hook blokovat myš | Windows přeskočí vstupní hook, který přestal odpovídat, jakmile vyprší tento časový limit; tohle ho nastaví na jednu sekundu, maximum, které Windows 10 1709 a novější povolí. Výchozí hodnota bez nastavení není zdokumentovaná a neměřila se. Hook, který je jen pomalý pod zátěží, může být zahozen taky; restart jeho nástroje ho vrátí. | HKCU\Control Panel\Desktop\LowLevelHooksTimeout |
| Zkrátit prodlevu opakování kláves na nejkratší stupeň | Zkrátí půlsekundové čekání, než se držená klávesa začne opakovat, na 250 ms (nejkratší stupeň) a nastaví nejrychlejší opakování. Jednotlivé stisky ve hře tudy nikdy neprocházejí; projeví se to v konzoli, v chatu a v nabídkách. Moc horlivé při psaní? Vrať to na stránce Fix. | HKCU\Control Panel\Keyboard\KeyboardDelay + KeyboardSpeed |
Jak to použít
- Otevři w0a
- V levém menu přejdi na stránku Regedit tweaky
- Najdi tuhle sekci a stiskni Použít u položek, které chceš
Každá položka má vlastní tlačítko, takže nemusíš použít celou sekci — a nahoře na stránce je Použít vše pro případ, že opravdu chceš všechny.
Jak to vrátit zpět
Dvě cesty, a fungují obě:
- Zálohy a obnovení — vrátí kontrolní bod zapsaný před tím, než se změna použila. Vrátí zpátky
všechno, co bylo použito po tom bodě, včetně pozdějších kontrolních bodů — potvrzovací okno to přesně tak říká, ještě než se začne.
- Stránka Fix — prohledává se podle příznaku a zapisuje výchozí hodnotu Windows bezpodmínečně.
Nečte žádnou zálohu, takže funguje, i když je vlastní zálohovací soubor w0a pryč.
Protokol pro vracení zpět leží v %ProgramData%\w0a\backup.json, mimo tvůj uživatelský profil.
Riziko
Všechno tady je dokumentovaná hodnota, kterou Windows podporují; nic z toho není na úrovni jádra a nic z toho není nevratné. Poctivá věta přesto zůstává tahle: nastavení pro tebe nemusí mít žádný měřitelný přínos. Když změnu použiješ a necítíš žádný rozdíl, nejspíš máš pravdu — tyhle stránky ti neprodávají pocit, říkají ti, co se změnilo.
Pokud to chceš změřit, platí pravidlo ze stránky čtení výsledku benchmarku: měň jednu věc po druhé a čti lows místo průměru.
Nejdřív upřímná věta
Žádné ze čtyř políček nezpůsobí, že kliknutí nebo stisk klávesy dorazí do hry dřív. Dvě prohlubují buffer, takže se vstup méně často ztratí, když se vlákno, které ho čte, zadrhne; jedno zkracuje dobu, po kterou může zaseknutý vstupní hook zmrazit myš a klávesnici; jedno mění, co dělá držená klávesa. Zda kterékoli z nich mění zápas, změřeno nebylo: ztracené reporty myši se s větší frontou a bez ní nikdy nepočítaly a časový limit hooku hraje roli, až když nějaký hook přestal odpovídat.
Políčko po políčku
Velikost datové fronty myši — zapisuje MouseDataQueueSize=150 (REG_DWORD) pod HKLM\SYSTEM\CurrentControlSet\Services\mouclass\Parameters a totéž pod HKLM\SYSTEM\CurrentControlSet\Services\mouhid\Parameters. Výchozí hodnota ovladače třídy je 100 a čistá instalace Windows pod mouhid žádnou hodnotu nemá. Je to hloubka fronty, ne nastavení latence: menší fronta nemůže report předat dřív, jen začne reporty zahazovat dřív, když ji něco na chvíli přestane vyprazdňovat, a u myši s 8000 Hz je zahozený report ztracený vstup. 150 je rezerva, která paměť fronty nebere jako zadarmo. Ví se jen, že hodnotu čte mouclass; prohledání mouhid.sys (10.0.26100.1) takové jméno nenajde a tento zápis zůstává, dokud se nezměří. Čte se při načtení ovladače: projeví se po restartu.
Velikost datové fronty klávesnice — totéž pro klávesnici: KeyboardDataQueueSize=150 (REG_DWORD) pod HKLM\SYSTEM\CurrentControlSet\Services\kbdclass\Parameters a HKLM\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters. Výchozí hodnota je 100 u kbdclass a nic pod kbdhid; ani kbdhid.sys takové jméno neobsahuje. Projeví se po restartu.
Omezit, jak dlouho může zaseknutý vstupní hook blokovat myš — zapisuje LowLevelHooksTimeout=1000 (REG_DWORD, milisekundy) pod HKCU\Control Panel\Desktop. Overlaye, nástroje na makra a chatovací programy instalují nízkoúrovňové hooky, kterými prochází každá vstupní událost, jedna po druhé. Microsoft dokumentuje, že hook, který se v tomto čase nevrátí, se přeskočí — ve Windows 7 a novějších se potichu odstraní — a že od Windows 10 1709 je 1000 ms nejvíc, co Windows dovolí. Sekunda je dost dlouhá pro hook, který je jen zaneprázdněný, a dost krátká, aby se zaseknutý hook neprojevil jako zamrznutí. Výměna: hook, který je pod zátěží jen pomalý, může být zahozen taky; restart toho nástroje ho vrátí. Výchozí stav Windows je žádná hodnota. Jak dlouho Windows potom čeká, Microsoft neuvádí a my jsme to neměřili. Projeví se po odhlášení a opětovném přihlášení.
Zkrátit prodlevu opakování kláves na nejkratší stupeň — zapisuje KeyboardDelay="0" a KeyboardSpeed="31", obojí jako REG_SZ, pod HKCU\Control Panel\Keyboard. Windows se dodává s "1" a "31". Microsoft uvádí pro 0 zhruba 250 ms a pro 31 zhruba 30 opakování za sekundu, skutečné hodnoty závisí na hardwaru. Řetězce proto, že DWORD zapsaný místo nich Windows ignoruje. KeyboardSpeed se zapisuje i při výchozí hodnotě 31: profil usnadnění přístupu ji může nechat nižší. Projeví se po odhlášení a opětovném přihlášení.
Jak si to ověřit sám
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 vypisuje DWORD šestnáctkově: 150 je 0x96, 100 je 0x64, 1000 je 0x3e8. Žádná hodnota pod mouhid nebo kbdhid nebo chybějící LowLevelHooksTimeout odpovídá čisté instalaci Windows.
Co tato sekce nedělá
Nesahá na rychlost ukazatele. Jedno políčko kdysi vnucovalo MouseSensitivity neškálovaný stupeň 6/11 a přepisovalo rychlosti, které si lidé zvolili. Hry, které čtou surový vstup, tuto hodnotu nikdy nevidí, takže ve hře neměnilo nic a mimo hru všechno; bylo odstraněno.
Nikdy frontu nezmenšuje. Dřívější sestava zapisovala 20, méně než výchozích 100, pod popiskem slibujícím hlubší frontu; menší fronta nemůže report doručit dřív, jen ho dřív ztratit.
Mimo tuto stránku
Na stránce Fix karta Vstupní fronty vrátí obě hodnoty front; Rychlost a prodleva opakování kláves obnoví dvojici hodnot pro opakování, aniž by sahala na myš; Fokus oken a pomocné nástroje smaže časový limit hooku; Myš, klávesnice a touchpad obnoví fronty i dvojici pro opakování a navíc resetuje akceleraci ukazatele a touchpad. Akcelerace myši je samostatné políčko na stránce Optimalizace, Vypnout akceleraci myši (konzistentní míření). Pokud ti kliknutí připadá opožděné, Proč mi míření připadá opožděné a Proč mi stisky kláves ve hře přicházejí pozdě projdou celý řetězec.
Která nastavení Windows ve hře něco mění, komu které pomůže a komu neudělá nic: Herní nastavení Windows 11, na kterých opravdu záleží
Pomohla ti tahle stránka?
Co chybělo, nebo co nefungovalo? Čteme každou jednu takovou zprávu.
Jestli tahle stránka problém nevyřešila, napiš nám — uveď, který článek jsi četl, a my ten článek opravíme.