Proč mi míření připadá opožděné

Rozdíl mezi frekvencí, kterou myš deklaruje, a tou, kterou opravdu dodává, a dalších pět věcí mezi tvojí rukou a zaměřovačem. Dvě z nich ti w0a změří přímo na tvém počítači, zbytek vysvětluje tahle stránka.

Tvoje myš možná nehlásí frekvencí, která je napsaná na krabici, a je to první věc, kterou se vyplatí změřit místo předpokládat. Myš „1000 Hz“ na sdíleném řadiči USB nebo na dlouhém nenapájeném hubu může dodat méně reportů, než kolik jich inzeruje — a číslo, které opravdu dodává, se na tvém počítači dá změřit asi za patnáct sekund.

Ke každé ze šesti příčin níž patří způsob, jak ji vyloučit. Jejich pořadí není žebříček: nebylo změřeno, jak často se která z nich ukáže jako odpověď.

Deklarovaná a naměřená frekvence jsou dvě různá čísla

Vstupní zařízení USB samo řekne hostiteli, jak často se ho má ptát. Ta žádost bydlí v poli deskriptoru endpointu, které se jmenuje bInterval, a referenční dokumentace Microsoftu říká rovnou: "This value reflects the device's configuration in firmware. Drivers cannot change it." Na full-speed zařízení si bInterval s hodnotou 1 říká o jeden dotaz na každý 1milisekundový rámec; na high-speed zařízení se interval počítá v mikrorámcích, osmi na milisekundu.

To je ta žádost. Co dostaneš, závisí na lince, na řadiči, na ovladači a na energetické politice mezi tím. Ta dvě čísla se proto musí číst vedle sebe, a w0a je vedle sebe ukazuje:

Stránka Domů: živé takty a teploty procesoru a grafiky, polling rate myši změřený z opravdového pohybu a co je to za počítač.
Stránka Domů: živé takty a teploty procesoru a grafiky, polling rate myši změřený z opravdového pohybu a co je to za počítač.

Oba údaje pocházejí z raw input streamu a jsou časované vysokorozlišovacím čítačem výkonu, ne systémovými hodinami. Ten detail znamená víc, než zní: běžná cesta zpráv ve Windows slučuje pohyb myši na tempo okna, které ho čte, takže nástroj postavený na ní nerozezná myš s 1000 Hz od myši se 125 Hz. Proč test chce dvanáct sekund pohybu myší je delší verze téhle úvahy.

Během obou měření krouž myší. Myš, která se nehýbe, neposílá nic, a měření ničeho není nízká frekvence reportů — je to žádné měření.

Rovnoměrnost znamená víc než špička

Průměrná frekvence reportů schová právě to, co cítíš. Cítíš ten report, který přišel pozdě.

Stránka Test latence hlásí pro každé zařízení: Frekvence reportů, Nejkratší, Průměr, Medián, Nejpomalejší 1 % a Nejpomalejší 0,1 %, plus řádek s rozptylem, který každý interval rozdělí do tří přihrádek — včas, pozdě (1,5–3× tvůj vlastní medián) a ztraceno (nad 3×). Prahy jsou schválně vztažené k tvému vlastnímu mediánu. Rovnoměrně pomalý počítač a převážně rychlý počítač se špičkami jsou různé problémy a pevné číslo by ten rozdíl schovalo.

Myš, která hlásí čistých 1000 Hz a má 2 % intervalů v přihrádce „ztraceno“, bude při flicku působit hůř než myš na 500 Hz, která tam nemá nic. Přesně proto ta stránka tiskne rozdělení místo jediného čísla.

Šest příčin a jak každou z nich vyloučit

1. Port, hub a řadič

Každé zařízení za hubem sdílí linku toho hubu a každé zařízení na jednom hostitelském řadiči sdílí rozvrh toho řadiče. Myš s vysokou frekvencí reportů vedle webkamery, sluchátek a externího disku na tomtéž řadiči soutěží o stejné sloty.

  1. Přesuň myš do portu přímo na počítači, ideálně do takového, který nesdílí řadič s vytíženým zařízením. Stránka USB porty seskupuje zařízení podle řadiče, za kterým sedí, a právě to z tohohle dělá kontrolu místo odhadu.
  2. Po dobu testu myš úplně odpoj od hubů v monitorech, od KVM a od nenapájených hubů.
  3. Zopakuj měření na stránce Domů. Pokud se naměřený interval zkrátil nebo zrovnoměrnil, nový port si nech.

2. Windows směly port uspat

Pokud první pohyb po pauze působí těžce a pak je všechno v pořádku, je to jedna z příčin, kterou stojí za to vyloučit. Windows to samy nedělají: u myší a klávesnic drží selektivní uspání vypnuté, pokud o něj nepožádá samo zařízení nebo ovladač jeho výrobce. Karta Nastavení napájení portů USB vrátí jedním stiskem oprávnění k napájení vstupních zařízení na výchozí hodnotu Windows a stránka USB porty umí jedno konkrétní zařízení nastavit na Nikdy neuspávat.

3. Bezdrát

Bezdrátová myš přidává rádiový skok a přijímač, který má vlastní rozvrh. Moderní vyhrazený přijímač nemusí být pomalejší než kabel; způsob selhání, který je třeba hledat, není konstantní posun, ale zahlcení — přeplněné pásmo 2,4 GHz, přijímač zapojený vzadu na skříni za plechem nebo dongle sdílející blok portů se zařízením USB 3.

Bluetooth je zase jiný případ a stavěný na tohle není. Pokud je myš na Bluetoothu a záleží ti na pocitu, použij vyhrazený přijímač nebo kabel. Bluetooth řeší stranu párování, když se zlobí samo zařízení.

Bezdrát testuj s přijímačem v předním portu nebo na krátkém prodlužovacím kabelu na stole, ne vzadu na skříni. Nestojí to nic, zabere to minutu a řekne ti, jestli za „moje bezdrátová myš v jedné místnosti seká“ stojí umístění přijímače.

4. Akcelerace a rychlost ukazatele

Akcelerace znamená, že vzdálenost, kterou kurzor urazí, závisí na tom, jak rychle jsi rukou pohnul, takže tentýž pohyb ruky ti pokaždé dá jiný výsledek. To není latence, ale čte se to jako „mířím nekonzistentně“, a lidé sem přicházejí hledat opravu latence.

Co w0a dělá: stránka Optimalizace má přepínač, který akceleraci vypne zápisem MouseSpeed, MouseThreshold1 a MouseThreshold2 na 0 pod HKCU\Control Panel\Mouse a zploští křivku ukazatele tak, aby jeden count posunul o jednu jednotku.

Co záměrně nedělá: nikdy nezapisuje MouseSensitivity. Rychlost ukazatele na ploše je tvoje nastavení a ladicí nástroj, který ji potichu změní, rozbil něco, co sis vybral. Pokud ji nějaký starší nástroj změnil, Myš, klávesnice a touchpad vrátí výchozí hodnoty Windows — včetně akcelerace, kterou má výchozí stav Windows zapnutou.

Střílečky, které pro míření čtou raw input, mezi nimi CS2, si křivky ukazatele ve Windows nevšímají, takže vypnutí akcelerace je hlavně o ploše a o menu. Pořád to stojí za to a pořád to není důvod, proč ti flicky míjejí.

5. DPI a citlivost ve hře jsou jedno číslo, ne dvě

O tom, jak daleko zaměřovač dojede, rozhoduje počet countů na palec vynásobený citlivostí ve hře. Zvednout DPI a snížit citlivost jako kompenzaci nechá stejný výsledek s jiným zaokrouhlením, a snížit DPI na hodnotu, na kterou senzor není nativní, může udělat pohyb zrnitý místo hladkého.

Softwarová oprava tohohle neexistuje a w0a se toho nedotýká. Je to nastavení na tvé myši a nastavení ve tvé hře a jediná užitečná metoda je vybrat si jedno a přestat ho měnit.

6. Senzor, podložka a vlastní vyhlazování hry

Lift-off distance, odrazivá nebo špinavá podložka, senzor, po kterém se chce, aby pracoval nad svou rychlostí sledování — přesně tohle dělá pocit „moje míření odjelo někam jinam“ a software na to nevidí vůbec. Žádný ovladač nečte spolehlivost senzoru; Windows dostanou report o pohybu a nemají jak vědět, že byl špatně. Pokud vedle změřené, rovnoměrné frekvence reportů sedí míření, které pořád působí nepředvídatelně, vyčisti podložku a zkus jinou dřív, než začneš měnit další nastavení.

Některé hry navíc používají vlastní vyhlazování nebo akceleraci vstupu nezávisle na Windows. Podívej se do nastavení té hry; nic mimo hru to vypnout nedokáže.

Postup, který se opravdu dá udělat

  1. Otevři Domů, pár sekund krouž myší a zapiš si údaj Polling rate myši — interval v ms a procento rovnoměrnosti.
  2. Otevři Test latence, nech ho běžet celých 12 sekund a přitom hýbej myší, a zapiš si Frekvence reportů, Medián, Nejpomalejší 1 % a ta tři procenta rozptylu.
  3. Změň jednu věc: port, polohu přijímače, hub, nastavení napájení.
  4. Zopakuj krok 2 stejným způsobem a porovnej. Stejný pohyb, stejná doba — jinak porovnáváš dvě různé věci.
  5. Změnu si nech jen tehdy, když se čísla pohnula. Když ne, vrať ji — opravné karty jako Myš, klávesnice a touchpad existují přesně kvůli tomu.

Co tady software nedokáže

Dvě věci, které dokáže — ukázat ti naměřenou frekvenci vedle deklarované a ukázat ti, který ovladač drží jádro — jsou dvě věci, které jinak nezískáš, a stačí na to, abys rozeznal hardwarovou odpověď od softwarové.

Související

Ze zhruba tuctu fází mezi kliknutím a změnou pixelu vlastní software tři, zbytek patří firmwaru, obrazovce a hře: Jak snížit latenci (input lag): co software dokáže zkrátit a co ne

w0a nezmění žádné nastavení Windows, dokud o to nepožádáš, a tweak si před zápisem nové hodnoty uloží tu starou. Upozornit mě

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.