Waarom mijn aim vertraagd aanvoelt

Het gat tussen de pollingrate die een muis claimt en de rate die hij werkelijk levert, plus de vijf andere dingen tussen je hand en het richtkruis. w0a meet er twee van op je eigen machine; deze pagina legt de rest uit.

Je muis rapporteert misschien niet op de snelheid die op de doos staat, en dat is het eerste wat je moet meten in plaats van aannemen. Een muis van "1000 Hz" op een gedeelde USB-controller of aan een lange hub zonder eigen voeding kan minder rapporten leveren dan hij adverteert — en het aantal dat hij werkelijk levert, is op jouw machine in ongeveer vijftien seconden te meten.

Bij elk van de zes oorzaken hieronder staat een manier om die uit te sluiten. Hun volgorde is geen ranglijst: hoe vaak elke oorzaak het antwoord blijkt te zijn, is niet gemeten.

De geclaimde rate en de gemeten rate zijn verschillende getallen

Een USB-invoerapparaat vraagt de host hoe vaak het gepolld moet worden. Dat verzoek staat in een veld van de endpoint-descriptor dat bInterval heet, en Microsofts naslagwerk stelt onomwonden: "This value reflects the device's configuration in firmware. Drivers cannot change it." Op een full-speed-apparaat betekent een bInterval van 1 één polling per frame van 1 milliseconde; op een high-speed-apparaat wordt het interval in microframes geteld, acht per milliseconde.

Dat is het verzoek. Wat je krijgt, hangt af van de verbinding, de controller, de driver en het energiebeleid daartussen. Die twee getallen moeten dus naast elkaar gelezen worden, en w0a zet ze naast elkaar:

De pagina Start: live kloksnelheden en temperaturen voor CPU en GPU, de pollingrate van de muis zoals gemeten uit echte beweging, en wat er in de machine zit.
De pagina Start: live kloksnelheden en temperaturen voor CPU en GPU, de pollingrate van de muis zoals gemeten uit echte beweging, en wat er in de machine zit.

Beide uitlezingen komen uit de raw-invoerstroom en worden geklokt met de hogeresolutieteller, niet met de systeemklok. Dat detail doet meer ter zake dan het klinkt: het gewone berichtenpad van Windows voegt muisbeweging samen tot het tempo van het venster dat hem leest, dus een tool die daarop is gebouwd kan een muis van 1000 Hz niet van een muis van 125 Hz onderscheiden. Waarom de test twaalf seconden muisbeweging vraagt is de langere versie van dat argument.

Beweeg de muis in cirkels zolang een van beide uitlezingen loopt. Een muis die niet beweegt verstuurt niets, en een meting van niets is geen lage rapportfrequentie — het is geen meting.

De gelijkmatigheid telt zwaarder dan de piek

Een gemiddelde rapportfrequentie verbergt precies het ding dat je voelt. Wat je voelt is het rapport dat te laat kwam.

De pagina Latencytest rapporteert per apparaat: Rapportfrequentie, Kortste, Gemiddeld, Mediaan, Traagste 1% en Traagste 0,1%, plus een spreidingsregel die elk interval in drie bakjes verdeelt — op tijd, te laat (1,5–3× je eigen mediaan) en verloren (meer dan 3×). Die drempels liggen met opzet tegen je eigen mediaan aan. Een machine die overal traag is en een machine die grotendeels snel is met uitschieters zijn verschillende problemen, en een vast getal zou dat verschil verbergen.

Een muis die op een schone 1000 Hz rapporteert met 2% van zijn intervallen in het bakje "verloren", voelt in een flick slechter aan dan een muis op 500 Hz met niets in dat bakje. Dat is de hele reden dat de pagina een verdeling afdrukt in plaats van één enkel getal.

De zes oorzaken en hoe je elk ervan uitsluit

1. De poort, de hub en de controller

Elk apparaat achter een hub deelt de verbinding van die hub, en elk apparaat op één hostcontroller deelt het schema van die controller. Een muis met een hoge rapportfrequentie naast een webcam, een headset en een externe schijf op dezelfde controller vecht om dezelfde plekken.

  1. Verplaats de muis naar een poort op de machine zelf, het liefst een die geen controller deelt met een druk apparaat. De pagina USB-poorten groepeert apparaten per controller waarachter ze hangen, en dat is wat dit controleerbaar maakt in plaats van een gok.
  2. Haal de muis tijdens het testen volledig van monitorhubs, KVM's en hubs zonder eigen voeding.
  3. Neem de uitlezing op de pagina Start opnieuw. Is het gemeten interval korter of stabieler geworden, houd dan de nieuwe poort.

2. Windows mocht de poort in slaap leggen

Voelt de eerste beweging na een pauze zwaar en gaat het daarna prima, dan is dit een oorzaak om uit te sluiten. Windows doet het niet uit zichzelf: bij muizen en toetsenborden houdt het selective suspend uit, tenzij het apparaat zelf of het stuurprogramma van de fabrikant erom vraagt. De kaart Energie-instellingen van USB-poorten zet de energierechten van invoerapparaten in één druk op de Windows-standaard terug, en de pagina USB-poorten kan één enkel apparaat op Nooit onderbreken zetten.

3. Draadloos

Een draadloze muis voegt een radiosprong toe en een ontvanger met zijn eigen schema. Een moderne speciale ontvanger hoeft niet trager te zijn dan een kabel; waar je op moet letten als het misgaat, is geen constante achterstand, het is drukte — een volle 2,4 GHz-band, een ontvanger die achter in de kast achter een metalen paneel zit, of een dongle die een poortblok deelt met een USB 3-apparaat.

Bluetooth is weer een ander geval en is hier niet voor gebouwd. Zit de muis op Bluetooth en telt het gevoel, gebruik dan de speciale ontvanger of een kabel. Bluetooth behandelt de koppelkant wanneer het apparaat zelf zich misdraagt.

Test draadloos met de ontvanger op een poort aan de voorkant of aan een kort verlengsnoer op het bureau, niet achter op de kast. Dit kost niets, duurt een minuut, en vertelt je of de plek van de ontvanger achter "mijn draadloze muis hapert in één kamer" zit.

4. Muisversnelling en aanwijssnelheid

Versnelling betekent dat de afstand die de cursor aflegt afhangt van hoe snel je bewoog, dus dezelfde handbeweging geeft je elke keer een ander resultaat. Dat is geen latency, maar het leest als "mijn aim is inconsistent", en mensen komen hier op zoek naar een latencyoplossing.

Wat w0a doet: de pagina Optimalisaties heeft een schakelaar die versnelling uitzet door MouseSpeed, MouseThreshold1 en MouseThreshold2 op 0 te schrijven onder HKCU\Control Panel\Mouse, en die de aanwijscurve vlak maakt zodat één count één eenheid beweegt.

Wat het met opzet niet doet: het schrijft nooit MouseSensitivity. Je aanwijssnelheid op het bureaublad is jouw instelling, en een afstemgereedschap dat die stilletjes wijzigt, heeft iets gesloopt wat jij hebt gekozen. Heeft een oudere tool hem wél gewijzigd, dan zet Muis, toetsenbord en touchpad de Windows-standaarden terug — inclusief versnelling, die in de Windows-standaard aan staat.

Shooters die voor het richten raw input lezen, CS2 incluis, negeren de aanwijscurve van Windows, dus versnelling uitzetten gaat vooral over het bureaublad en over menu's. Het is nog steeds de moeite waard, en het is niet de reden dat je flicks missen.

5. DPI en in-game-gevoeligheid zijn één getal, geen twee

Counts per inch vermenigvuldigd met de in-game-gevoeligheid is wat bepaalt hoe ver het richtkruis gaat. De DPI verhogen en de gevoeligheid verlagen om dat te compenseren, levert hetzelfde resultaat op met een andere afronding, en de DPI verlagen naar een getal waar de sensor niet native op werkt, kan beweging korrelig maken in plaats van vloeiend.

Hier bestaat geen softwareoplossing voor en niets in w0a raakt eraan. Het is een instelling op je muis en een instelling in je game, en de enige nuttige methode is er één kiezen en er dan van afblijven.

6. De sensor, de ondergrond en de eigen smoothing van de game

Lift-off-afstand, een spiegelende of vuile muismat, een sensor die buiten zijn trackingsnelheid moet werken — dat levert precies het gevoel "mijn aim ging ergens anders heen" op, en software kan ze helemaal niet zien. Geen enkele driver leest hoe zeker de sensor van zichzelf is; Windows ontvangt een bewegingsrapport en heeft geen manier om te weten dat het fout was. Staat er naast een gemeten, stabiele rapportfrequentie een aim die nog steeds onvoorspelbaar aanvoelt, maak dan het oppervlak schoon en probeer een andere mat voordat je nog een instelling wijzigt.

Sommige games passen ook hun eigen invoer-smoothing of versnelling toe, los van Windows. Kijk in de instellingen van de game zelf; niets buiten de game kan dat uitzetten.

Een test die je werkelijk kunt doen

  1. Open Start, beweeg de muis een paar seconden in cirkels, en schrijf de uitlezing van Muis-pollingrate op — het interval in ms en het stabiele percentage.
  2. Open de Latencytest, draai de volle 12 seconden terwijl je beweegt, en schrijf Rapportfrequentie, Mediaan, Traagste 1% en de drie spreidingspercentages op.
  3. Verander één ding: de poort, de positie van de ontvanger, de hub, de energie-instelling.
  4. Herhaal stap 2 op precies dezelfde manier en vergelijk. Dezelfde beweging, dezelfde duur, of je vergelijkt twee verschillende dingen.
  5. Houd de wijziging alleen als de getallen bewogen. Draai hem terug als dat niet zo is — de Fix-kaarten bestaan precies daarvoor.

Wat software hier niet kan

De twee dingen die het wél kan — je de gemeten rate naast de geclaimde tonen, en je laten zien welke driver een kern vasthoudt — zijn de twee dingen die je nergens anders vandaan haalt, en ze zijn genoeg om een hardwareantwoord van een softwareantwoord te onderscheiden.

Gerelateerd

Van de ongeveer twaalf fasen tussen een klik en een pixel die verandert, zijn er drie van de software; de rest is van de firmware, het beeldscherm en de game: Input lag verminderen: wat software kan verkorten en wat niet

w0a verandert geen enkele Windows-instelling tot je erom vraagt, en een tweak bewaart de oude waarde voordat hij een nieuwe schrijft. Herinner me

Heeft deze pagina geholpen?

Wat ontbrak, of wat werkte er niet? We lezen elk van deze berichten.

Heeft deze pagina het niet opgelost, schrijf ons dan — noem het artikel dat je hebt gelezen, dan verbeteren we het.