Der Zähler sagt 200, und das Spiel fühlt sich wie 90 an. Nichts ist kaputt, nichts friert eine ganze Sekunde lang ein, aber ein Feuergefecht fühlt sich nie so an, wie die Zahl es verspricht. Diese Erfahrung hat einen Namen und eine Messung, und sobald du sie lesen kannst, hörst du auf, der falschen Zahl hinterherzujagen.
Zuerst der ehrliche Satz. Diese Seite erklärt eine Messung, keine Lösung. w0a gibt nirgends eine Zahl für „gewonnene FPS“ aus; ob eine Änderung geholfen hat, liest du also an deinen eigenen Aufnahmen vorher und nachher ab, gegen dein eigenes Rauschen von Durchlauf zu Durchlauf — und jede Zahl unten lässt sich aus der Datei nachrechnen, die die Seite Vorher/Nachher-Benchmark speichert.
Was die drei Zahlen wirklich sind
Sortier jedes Frame eines Durchlaufs vom langsamsten zum schnellsten.
- Durchschnittliche FPS sind das Mittel aus allen. Sie sind die unnützeste Angabe auf der Seite.
- Das 1% Low ist das schlechteste Prozent dieser Frames. Es wird meist als FPS-Wert ausgegeben, ein „1% Low von 70“ heißt also: Deine schlechtesten Frames haben jeweils etwa so lange gebraucht wie ein Frame in einem Spiel mit 70 FPS.
- Das 0,1% Low ist das schlechteste von tausend — die seltenen, tiefen Ereignisse.
Frametimes sind dieselben Daten in Millisekunden, und es lohnt sich, die Rechnung zu merken, weil sie den Rest dieser Seite konkret macht: 16,7 ms sind 60 FPS, 6,9 ms sind 144, 4,2 ms sind 240.
Ein Durchlauf mit einem Durchschnitt von 200 und einem 1% Low von 70 ist also ein Durchlauf, in dem das typische Frame rund 5 ms gebraucht hat und das schlechteste Hundertstel rund 14 — fast dreimal so lang. Und bei 200 FPS ist ein Prozent deiner Frames zwei Frames pro Sekunde. Zweimal in der Sekunde steht das Bild so lange still, wie drei Frames dauern. Das ist es, was du spürst, und kein Durchschnitt der Welt sagt dir etwas darüber.
Lies den Abstand, nicht die Zahl
Ein 1% Low von 70 ist in einem Durchlauf mit 90 FPS ausgezeichnet und in einem mit 200 FPS beunruhigend. Was sich zu lesen lohnt, ist das Verhältnis:
| Was du siehst | Was es meistens bedeutet |
|---|---|
| Durchschnitt und 1% Low liegen nah beieinander | Gleichmäßige Auslieferung. Genau das ist „flüssig“, auch bei einer bescheidenen Bildrate. |
| 1% Low weit unter dem Durchschnitt | Etwas unterbricht einen sonst gesunden Durchlauf — ein Ereignis, keine Last. |
| 0,1% Low weit unter dem 1% Low | Seltene, tiefe Ereignisse: ein Treiber-Reset, ein Sturm von Speicherseiten, ein langer Lesevorgang von der Platte. |
| Alles zusammen niedrig | Du verlangst schlicht mehr, als die Hardware liefert. Senk eine Einstellung. |
Die dritte Zeile liest man leicht falsch. Ist dein 1% Low in Ordnung und dein 0,1% Low furchtbar, hast du kein Problem mit der Gleichmäßigkeit — du hast eine Handvoll konkreter Vorfälle, und Vorfälle lassen sich finden.
Warum ein schlechter Ausläufer ein anderes Problem ist als ein niedriger Durchschnitt
Ein niedriger Durchschnitt ist eine Frage der Last: Die Maschine tut so viel, wie sie kann, und es reicht nicht. Die Antwort ist eine Einstellung, eine Auflösung oder andere Hardware.
Ein schlechter Ausläufer ist eine Frage der Ereignisse: Die Maschine kommt größtenteils mit, und etwas hält sie regelmäßig an. Die Antwort ist, dieses Etwas zu finden. Die Liste ist kurz, und jeder Punkt darauf hinterlässt eine Spur — ein Treiber, der einen Prozessorkern hält, Speicherseiten, die von der Platte zurückkommen, ein gelesenes Asset, eine Hintergrundaufgabe, ein Shader, der kompiliert wird, ein Treiber-Reset. Warum Spiele unter Windows 11 ruckeln geht diese Liste Ursache für Ursache durch, und wonach der Ruckler-Scan sucht ist die automatische Fassung davon: Sie kennzeichnet jeden Befund als bewiesen, wahrscheinlich, Kandidat oder nicht geprüft, statt dir einen Vertrauenswert zu geben, den sie sich nicht verdient hat.
Es gibt auch einen Fall dazwischen: eine Maschine, die im Mittel nicht GPU-limitiert ist, in den geschäftigsten Momenten aber an ein Limit stößt. Die Frames, die zurückfallen, sind genau die Frames, in denen am meisten passiert — also das Feuergefecht. Liegt deine GPU deutlich unter voller Auslastung, während die Lows leiden, ist GPU nicht bei 100 % die Diagnoseseite dafür.
Die Messdisziplin, die das alles erst lohnend macht
Perzentile rauschen stärker als Durchschnitte, weil sie aus weniger Frames berechnet werden. Zwei Durchläufe derselben, unveränderten Konfiguration liefern nicht dasselbe 1% Low, und der Unterschied zwischen ihnen ist die kleinste Änderung, die du überhaupt erkennen kannst.
Deshalb ist eine Aufnahme nur neben ihrem eigenen Rauschen nützlich. Die Seite Vorher/Nachher-Benchmark berechnet aus der Streuung jeder Aufnahme von Minute zu Minute ein Messrauschen und gibt es für den Durchschnitt, das 1% Low und das 0,1% Low getrennt aus — und sie behauptet keinen Unterschied, der darin liegt. Das ist die ganze Disziplin in einem einzigen Verhalten: Ein Ergebnis, das kleiner ist als deine eigene Schwankung von Durchlauf zu Durchlauf, ist kein Ergebnis.
Die praktische Fassung:
- Gleiches Spiel, gleiche Map oder Wiederholung, gleiche Länge, gleiche spielinterne Einstellungen.
- Spiel gleich. Ein Durchlauf, in dem du eine Wand anstarrst, und einer mitten im Feuergefecht sind nicht vergleichbar.
- Lass die unveränderte Konfiguration mindestens dreimal laufen, bevor du irgendetwas änderst, damit du weißt, wie dein eigenes Rauschen aussieht.
- Änder eine Sache. Fünf Änderungen und eine Messung sagen dir nichts darüber, welche davon gewirkt hat — und fünf einzeln gemessene Gewinne zusammenzuzählen ist Rechnen, nicht Messen.
- Vergleich die Lows. Das Benchmark-Ergebnis lesen erklärt, wofür jede Zahl auf der Seite da ist.
Die genaue Rechnung, Zahl für Zahl
Das macht die Seite Vorher/Nachher-Benchmark mit einer Aufnahme, in dieser Reihenfolge.
| Schritt | Die Regel | Warum es sie gibt |
|---|---|---|
| Welche Frames zählen | Nur Frames, die gezeichnet wurden, während das Spiel das Fenster im Vordergrund war. Kommt das Spiel wieder nach vorn, bleibt die erste Sekunde draußen; vor einem erkannten Fokusverlust bleiben die letzten 0,2 Sekunden draußen. Die ausgelassene Zeit wird mit dem Durchlauf ausgewiesen. | Eine Aufnahme startet und endet aus dem Fenster von w0a heraus, ihre Ränder sind also das Spiel im Hintergrund. In einer aufgezeichneten Aufnahme waren 94 der 185 Frames hinter dem 1% Low genau diese Ränder. Die eine Sekunde ist ein gewählter Wert, kein gemessener. |
| Stillstände | Ein Frame-Intervall über 200 ms wird aus dem Durchschnitt und aus jedem Perzentil ausgeschlossen und getrennt gezählt. | Über 200 ms ist es ein Ladebildschirm, ein Alt-Tab oder ein Hänger des Treibers, kein Rendern. Mitgemittelt würde es jedes echte Frame begraben. |
| Durchschnittliche FPS | Die gezählten Frames geteilt durch die Zeit, die sie gebraucht haben: Frames × 1000 ÷ Gesamtmillisekunden. | |
| 1% Low | Sortier die gezählten Frametimes. Nimm das langsamste 1 % davon, aufgerundet und nie weniger als ein Frame, mittle diese Frametimes und rechne das Ergebnis in FPS um: 1000 ÷ dieser Mittelwert. | Die andere verbreitete Definition, die Bildrate bei der Frametime des 99. Perzentils, wurde absichtlich verworfen: Ruckeln genau 1 % der Frames, landet sie auf der Grenze und meldet fast dieselbe Zahl wie der Durchschnitt. |
| 0,1% Low | Dasselbe, mit dem langsamsten 0,1 %. | |
| Frametime des 99. und des 99,9. Perzentils | Getrennt ausgewiesen, in Millisekunden. | Für Leser und Werkzeuge, die die Perzentil-Definition verwenden. |
| Zu kurz zum Lesen | Unter 900 Frames gibt es nicht genug Frames, damit das Perzentil etwas bedeutet. | |
| Ruckler-Zählung | Ein Frame ist ein Ruckler, wenn es länger ist als sowohl das Doppelte des Medians der umgebenden drei Sekunden als auch dieser Median plus 8 ms, bis zu einer Sekunde. | Drei Sekunden statt einer festen Anzahl Frames, damit die Regel bei 60 FPS dasselbe bedeutet wie bei 300. Der Term von 8 ms verhindert, dass gewöhnliches Zittern bei hohen Bildraten als Ruckler zählt. Frames zwischen 200 ms und einer Sekunde sind aus den Perzentilen ausgeschlossen, hier aber enthalten: Ein Aussetzer von 250 ms durch Shader-Kompilierung ist genau das, wofür es diese Zählung gibt. |
| Messrauschen | Die Aufnahme wird in Blöcke von 60 Sekunden geschnitten. Jede Seite eines Vergleichs braucht mindestens zwei ganze Blöcke, sonst sagt die Seite „nicht vergleichbar“, statt eine Zahl einzufärben. Das Grundrauschen ist ein 95-%-Intervall aus der Streuung beider Seiten von Block zu Block (Welch-Verfahren), als Prozentsatz des Werts „vorher“. Nur vollständige Blöcke ohne verlorene Ereignisse zählen, und ein Grundrauschen von null wird nie ausgegeben. | Ein Unterschied innerhalb deiner eigenen Schwankung von Block zu Block ist kein Ergebnis. |
| Gepaarte Serie | Führst du eine A/B-Serie aus, wird eine Änderung nur gemeldet, wenn ein exakter Vorzeichen-Rang-Test und ein 95-%-Bootstrap-Intervall der Median-Differenz (10.000 Wiederholungsstichproben) beide die Null ausschließen und der Median mindestens der kleinste Effekt ist, den diese Konfiguration laut einem Pilotlauf mit 10 Durchläufen erkennen kann. Die Serie braucht mindestens 6 Paare — mit 5 ist der kleinstmögliche p-Wert 0,0625 — und schlägt 8 vor, in der Reihenfolge ABBA. | Ein einzelnes Vorher-Nachher-Paar kann eine Änderung nicht von einer warmen GPU oder einem anderen Spawn trennen. |
Prüf es selbst: aus der CSV nachrechnen
CSV speichern auf der Seite Vorher/Nachher-Benchmark schreibt eine Tabelle mit den Spalten side,kind,name,value. Zeilen mit kind = metric sind die zusammenfassenden Zahlen; Zeilen mit kind = frame sind die Frame-Intervalle, eines pro Zeile, mit der Frametime in Millisekunden in value. Die Frame-Zeilen enthalten die ganze Serie, Stillstände eingeschlossen, genau damit du die 200-ms-Regel selbst anwenden kannst und auf dieselben Zahlen kommst.
Zwei Dinge, bevor du anfängst:
- Die Zahlen in der Datei verwenden immer einen Punkt als Dezimaltrennzeichen, egal was deine Windows-Region sagt. In den deutschen und österreichischen Regionaleinstellungen ist das Dezimaltrennzeichen dagegen ein Komma: Sag deiner Tabellenkalkulation beim Import, dass die Datei einen Punkt verwendet, sonst kommt
6.94als Text an. - Die Spaltennamen sind feste englische Bezeichner. Sie sind für Skripte gedacht und in jeder Sprache gleich.
In einer Tabellenkalkulation: Filter auf eine side und kind = frame, entfern die Zeilen über 200, sortier value vom größten zum kleinsten Wert, mittle die ersten N Zeilen, wobei N die Zeilenanzahl geteilt durch 100 ist, aufgerundet, und teil 1000 durch diesen Mittelwert. Das Ergebnis sollte low_1pct_fps für diese Seite entsprechen.
In PowerShell (ersetz before durch after für die andere Seite):
$ms = Import-Csv .\capture.csv |
Where-Object { $_.kind -eq 'frame' -and $_.side -eq 'before' } |
ForEach-Object { [double]::Parse($_.value, [Globalization.CultureInfo]::InvariantCulture) } |
Where-Object { $_ -le 200 } |
Sort-Object
$take = [Math]::Max(1, [Math]::Ceiling($ms.Count * 0.01))
1000 / ($ms | Select-Object -Last $take | Measure-Object -Average).Average
Nimm 0.001 statt 0.01 für das 0,1% Low. Zwei schnelle Stimmigkeitsprüfungen aus derselben Datei: Die Anzahl der Frame-Zeilen bis einschließlich 200 entspricht der Kennzahl frames, und die Anzahl über 200 entspricht excluded_over_stall_ms.
Zwei Dinge, die ein Perzentil unbemerkt ruinieren
Frame Generation. Eingefügte Frames tragen keinen neuen Spielzustand. Ein 1% Low, das aus dem Zählen von Frames stammt, liefert weiterhin eine Zahl, aber es beschreibt keine Reaktionsfähigkeit mehr — und die war der einzige Grund, warum du hingesehen hast. Schalt die Erzeugung beim Messen ab. Das ist eine Frage der Definition und keine Behauptung, dass Frame Generation Ruckler verursacht.
Ladebildschirme und Pausen. Eine Ladepause von drei Sekunden ist ein einziges „Frame-Intervall“ von dreitausend Millisekunden, und bleibt sie in den Daten, wird sie zu deinem 0,1% Low und begräbt alles Echte darunter. Genau deshalb werden so lange Intervalle aus den Perzentilen ausgeschlossen und getrennt ausgewiesen, damit nie unbemerkt eine Zahl auf einem von ihnen aufgebaut wird.
Was das 1% Low nicht bewegt
Das gehört deutlich gesagt, weil die beiden leicht zu vermengen sind: Latenzfunktionen und die Stabilität von Perzentilen sind zwei verschiedene Behauptungen. Die Low-Latency-Modi der Hersteller verringern die Tiefe der Renderwarteschlange, und diese Verringerung ist gemessen worden. Es gibt keine veröffentlichte Messung, die zeigt, dass sie Frametime-Perzentile verbessern. Beides kann seinen Wert haben; dasselbe ist es nicht, und eine Seite, die das eine als das andere ausgibt, will dir etwas verkaufen. Saubere Neuinstallation für stabile 1% Lows arbeitet die veröffentlichten Belege mit Quellen durch, und die Latenz, die keine Software behebt ist die ehrliche Abrechnung darüber, was Arbeit an der Latenz erreichen kann und was nicht.
Dieselbe Vorsicht gilt für Registry-Listen, die bessere Lows versprechen. Werte der Kernel-Speicherverwaltung und Überschreibungen der Timer-Auflösung werden hier rundheraus abgelehnt — nicht weil sie exotisch wären, sondern weil niemand eine Messung dazu veröffentlicht hat, die den Kontakt mit einer Methode übersteht.
Was die Benchmark-Seite nicht ausgibt
- Keine Zahl für „gewonnene FPS“, für keine Einstellung, nirgends in w0a. Ein Gewinn ist das, was deine eigenen zwei Aufnahmen zeigen, oder nichts.
- Keine Ursache, nur der Zeitpunkt. Fällt ein Ruckler mit etwas anderem zusammen, das passiert ist, sagt die Karte, dass beides in dasselbe Zeitfenster fiel. Sie sagt nicht, dass das eine das andere verursacht hat.
- Kein Unterschied innerhalb des Grundrauschens wird als Änderung gezeigt, in keine Richtung.
Sind deine Lows schlecht und willst du die Ursachen statt der Zahlen, ist Warum Spiele unter Windows 11 ruckeln die Liste, und wonach der Ruckler-Scan sucht ist das, was w0a automatisch prüft. Speziell für CS2 wendet Wenig FPS und Ruckler in CS2 all das auf ein einziges Spiel an.
Verwandt
- Warum Spiele unter Windows 11 ruckeln
- GPU nicht bei 100 %
- Das Benchmark-Ergebnis lesen
- Input Lag verringern: was Software verkürzen kann und was nicht
- Ruckler durch Shader-Kompilierung
- Wenig FPS und Ruckler in CS2
Du spielst CS2? Welche Startoptionen noch etwas bewirken und wo im Grafikmenü die Frames tatsächlich liegen: Wenig FPS und Ruckler in CS2 trotz gutem PC: eine gemessene Checkliste
Hat diese Seite geholfen?
Was hat gefehlt, oder was hat nicht funktioniert? Wir lesen jede einzelne Rückmeldung.
Wenn diese Seite das Problem nicht gelöst hat, schreib uns — nenne den Artikel, den du gelesen hast, und wir bessern ihn nach.