De benchmark lezen

Hij meet frametijden terwijl je je eigen game speelt, niet een kunstmatige scène. Wat de percentielen betekenen en waarom het gemiddelde het minst bruikbare getal op de pagina is.

Wat er gemeten wordt

Frametijden uit de game die je daadwerkelijk speelt, uitgelezen uit de grafische stack zelf in plaats van via een overlay die in de game is gehaakt. Start de opname, speel gewoon door, stop de opname.

Dat het je eigen game is, doet ertoe. Een kunstmatige scène vertelt je hoe de machine met díé scène omgaat; ze kan je niet vertellen of jouw game stottert op precies die ene plek waar hij altijd stottert.

De getallen

GetalWat het je vertelt
Gemiddelde FPShet minst bruikbare getal hier. Twee machines met hetzelfde gemiddelde kunnen volstrekt anders aanvoelen.
1% lowde slechtste 1% van de frames. Dit is wat je als gestotter voelt — een hoog gemiddelde bij een slechte 1% low is de klassieke "veel fps, voelt toch beroerd".
Frametijddezelfde gegevens in milliseconden. 16,7 ms is 60 FPS, 6,9 ms is 144.

Lees de lows, niet het gemiddelde. Van 200 naar 210 gemiddeld verandert niets dat je kunt voelen. Van 90 naar 140 in de 1% low verandert alles.

Twee runs eerlijk vergelijken

Wat niet meetelt

Frames die het spel tekent terwijl het niet op de voorgrond staat, tellen niet mee: de seconden tussen het starten van de opname en het overschakelen naar het spel, de seconden nadat je terugschakelt om te stoppen, elke alt-tab daartussen en de eerste seconde nadat het spel weer op de voorgrond komt. Een spel op de achtergrond tekent vaak maar een fractie van zijn normale tempo, en die frames alleen kunnen de 1% low bepalen. Het resultaat vermeldt hoeveel seconden zijn weggelaten, en een opname van een oudere w0a, die ze nog meetelde, wordt niet tegen een nieuwere beoordeeld.

Waarom de getallen per run verschillen

Dat doen ze altijd. Temperaturen, werk op de achtergrond, waar je gelopen hebt, wat de andere spelers deden. Een paar procent verschil tussen twee runs is normaal en bewijst niets. Is een verandering echt, dan laat ze zich herhaaldelijk zien — en ze laat zich zien in de lows.

Na een update van het stuurprogramma of de game

Een paar dat aan weerszijden van een game-update is opgenomen, wordt niet beoordeeld: de pagina noemt beide versies en laat het verschil ongekleurd, zoals al bij een wissel van stuurprogramma. Een patch verandert wat de game zelf doet, dus geen enkel verschil over een update heen kan aan een instelling worden toegeschreven. w0a leest de versie uit de eigen bestanden van Counter-Strike 2; bij andere games wordt alleen het stuurprogramma vergeleken.

De eerste match na een update van het stuurprogramma of de game kan shaders compileren die de cache niet meer heeft. Kwam de eerste run na de nieuwste update slechter uit dan de volgende met dezelfde versies, en wel met meer dan de eigen ruis van de twee runs, dan zegt een notitie onder de resultaten dat. Of het compileren van shaders de oorzaak was, wordt niet gemeten; de notitie zegt alleen dat het bij elkaar past. Verschillen de twee runs niet, dan is er geen notitie. Speel na een update dus eerst één match voordat je meet, en vergelijk instellingen vanaf de tweede run.

Uitsluitsel met een A/B-reeks

Eén run per kant kan een kleine wijziging niet van dat schommelen onderscheiden. Een A/B-reeks herhaalt de vergelijking tot dat wel kan. Jij bepaalt wat A en B zijn (bijvoorbeeld A: motoren uit, B: aan); w0a verandert zelf geen enkele instelling.

Een paar dat de vergelijkingskaart zelf niet zou beoordelen (een korte run, verloren events, een motor die van toestand verandert, andere hardware) telt niet mee, en de reeks zegt hoeveel er zijn weggelaten. Druk op Reeks beëindigen als je klaar bent; het resultaat blijft op de pagina staan.

Hoe lang de game op een processor wachtte

Onder de lijst met lange frame-intervallen leest een kaart een kort venster lang de eigen scheduler-registraties van de kernel, zodra de game een tijdje frames toont: hoe lang de threads van de game wachtten tussen klaar zijn om te draaien en een processor krijgen, en welke andere programma's de processor intussen hadden. Daar zijn beheerdersrechten voor nodig, en een venster waarin de kernel gebeurtenissen verloor, toont geen waarde in plaats van een verkeerde. Met twee runs geselecteerd zegt de kaart of de wachttijd meer bewoog dan de eigen spreiding van de vensters.

Dezelfde kaart noemt de processor waarop de drukste thread van de game (gezien als de hoofdthread) het meest draaide, en de tijd voor deferred procedure calls (DPC's) gemeten waar hij draaide, naast de gemiddelde processor. Een reeks voegt één regel toe: of die DPC-tijd en de stotters over de runs van één instelling (de pilot of de A-kant) samen stegen en daalden. Dat beschrijft alleen samen voorkomen; wat wat veroorzaakt, is niet gemeten.

Het netwerk tijdens de opname

Tijdens een opname stuurt w0a, zolang het spel draait, tien keer per seconde een klein testpakket naar 1.1.1.1, het adres dat de kaart Live verbinding op de pagina Verbinding gebruikt. Dat is niet de server van je game: het meet je eigen verbinding (de router, de wifi, het netwerk van je provider), het deel waar het verkeer van elke game als eerste doorheen gaat. Een testpakket dat niet binnen een seconde antwoord krijgt, telt als verloren. Antwoordt het netwerk nooit op ping, dan schakelt w0a over op TCP-handshakes op poort 443 van hetzelfde adres, vijf per seconde, en de pings van vóór de overstap vallen uit de netwerkopname: ze werden gefilterd, niet verloren. Zolang er geen spel draait, wordt er niets verzonden, en buiten een opname draait de netwerkopname helemaal niet.

Met twee runs geselecteerd krijgt de vergelijkingskaart een regel Netwerk: de p95-retourtijd, het verlies en de pieken van beide runs naast elkaar, zonder kleur, want de kaart vergelijkt frames, geen netwerken. Het gekopieerde resultaat bevat dezelfde drie cijfers. Is een run met handshakes gemeten, dan staat dat in de regel; een handshake meet iets hoger dan een ping. De tooltip voegt per run p50, p99, de hoogste retourtijd en de piekgrens toe.

Een piek is een reeks testpakketten boven de piekgrens en telt één keer, hoe lang hij ook duurt. De grens ligt drie interkwartielafstanden boven het bovenste kwartiel en nooit minder dan 10 ms boven de mediaan, zodat het gewone schommelen van een rustige verbinding niet meetelt. Hij heeft minstens 20 beantwoorde testpakketten nodig, net als p95; p99 heeft er 100 nodig. Daaronder staat er een streepje in plaats van een gok. De netwerkopname stopt na een uur meten, of eerder als het pad om minder pakketten vraagt (ICMP source quench) of het meten mislukt, en de tooltip noemt de reden. Een run die een oudere w0a heeft opgeslagen, heeft geen netwerkopname.

In de lijst met lange frame-intervallen vermeldt elk interval hoeveel testpakketten in hetzelfde tijdvenster onderweg waren, hoeveel onbeantwoord bleven en de langste retourtijd. Een zin boven de lijst telt de intervallen die in hetzelfde tijdvenster vallen als een onbeantwoord testpakket of een boven de piekgrens. Meer zegt hij niet: beide gebeurden tegelijk. Of het een het ander ophield, is niet gemeten.

Opgeslagen runs voeden de stotterscan

Runs die je opslaat, gebruikt de stotterscan als bewijs: frames die meetbaar trager zijn dan de frames eromheen duiken daar op als een eigen bevinding, naast de mogelijke oorzaken. Een opgeslagen run uit de game die stottert is het meest directe bewijs dat je hem kunt aanreiken.

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.