Unterschied 1% Low und P1

Wombatlars

Cadet 2nd Year
Registriert
Aug. 2021
Beiträge
21
Um sicherzugehen habe ich selbst nochmal nachgeschaut:
https://www.capframex.com/blog/post/Explanation of different performance metrics

Wenn der 1000-Werte-Benchmark von oben insgesamt 20s gedauert hat, werden die Frametimes genau wie bei den Perzentilen der Größe nach sortiert, nur diesmal von hoch nach niedrig. Für den 1%-Low-Wert werden nun die Frametime-Werte vom ersten(höchsten) Wert an addiert, bis ihre Summe 1% der gesamten Benchmark-Zeit erreicht oder überschreitet, in diesem Fall 200ms. Der FPS-Wert des Frames, mit dem dieser 200ms-Punkt erreicht oder überschritten wurde, ist dann der 1% low und im Vergleich zum Standard 1% Perzentil kann man damit wirklich sagen, dass man zu 99% der Zeit über X FPS liegt.
 
  • Gefällt mir
Reaktionen: Wombatlars, Baal Netbeck und electronish
Um es praxisnaher zu formulieren....

Percentile berücksichtigen nur den x. schlechtesten Frame.

Von 999 Frametimes ist der P1 der 10. schlechteste Wert.
Das ist für Benchmarks teilweise problematisch....teilweise besser...
Es kann sein, dass in deiner Testszene 10 heftige Ruckler sind und die eine Grafikkarte/CPU liefert 999 und die andere 1001 Frames in den 20s.
Dann ist das P1 für die eine Grafikkarte einer dieser 10 heftigen Ruckler und für die andere Grafikkarte das schlechteste "normale" Frametime.
Obwohl beide Grafikkarten fast die gleichen FPS haben und beide 10 Mal heftig Ruckeln, kann der eine bei 70 ms liegen und der andere bei 20 ms.
Ein seltener Extremfall, aber ich habe in der Vergangenheit eigene Benchmarks und auch Computerbase Benchmarks gesehen, wo genau dieses Verhalten ein Problem war.

Meist sind die einzelnen Ruckler seltener oder deutlich öfter...dann bekommen entweder beide P1 Werte nichts von den Rucklern mit, oder sie zeigen sie ähnlich.

Vor allem der Fall, wenn die P1 gar nichts von den Rucklern zeigen, ist für die Reproduzierbarkeit der Benchmarks von großem Vorteil.
Denn die Höhe von Frametimepeaks(Rucklern) ist meist größeren Schwankungen unterlegen und man müsste viele Messungen mitteln.
Ignoriert man sie, macht man es sich einfacher.

Die "1% low", die CapFrameX inzwischen verwendet, nehmen auch die schlechten Werte irgendwie mit rein.
Um so länger die Frametimes der schlechtesten Werte dauern, um so früher ist das 1%(die 200ms im Beispiel) erreicht und um so schlechter ist der gemeldete 1% low Wert.

Was HWunboxed und Gamers nexus für "1% low Frametimes" verwenden ist das was CapFrameX als "1% low average" bezeichnet.
Da werden die schlechtesten X% der Frametimes gemittelt. Das bezieht in dem Beispiel alle diese 10(oder 9?) Frametimes gleichermaßen ein.

Es gibt auch hier Vor- und Nachteile für beide Methoden.
Aber beide ignorieren die schlechtesten Frametimes nicht, wie es die Percentile tun.

Das hat Vorteile, wenn diese aus reproduzierbar vorhandenen Rucklern bestehen....denn dann will ich die Info, welche Hardware weniger, oder zumindest weniger stark ruckelt wissen.

Es birgt aber auch die Gefahr, dass einzelne Ruckler, die nicht die Schuld der Hardware sind, die Ergebnisse stark und unfair beeinflussen.
Z.B. wenn das Spiel ca. alle 60s mal ruckelt und die eine Hardware in den 20s Benchmark keinen Ruckler erwicht und die andere Hardware schon.
Oder wenn es Hintergrundprozesse sind, die eine der Messungen stören.
Die Capframex "1% lows" sind da etwas robuster als die "1% low average"...dafür zeigen sie auch tendenziell weniger Unterschiede, wo es welche zu messen gäbe.

Probleme kann man mit sorfältiger Vorbereitung und Testmessungen erkennen und berücksichtigen.
Z.B. die Messdauer auf über 60s anheben, sollte das Spiel reproduzierbar alle 60s ruckeln.
Oder generell länger messen, um prozentual mehr Ruckler zu erwischen.
Oder den anderen Weg gehen und mehr Messungen a 20s machen und dann die Messungen die Pech mit einem Ruckler hatten aussortieren.

Oder viele Messungen machen, die zusätzlich lange dauern und dann Ausreißer aussortieren...und dann die verbliebenen Ergebnisse mitteln und eine empirische Standardabweichung bilden um zu zeigen in welchem Bereich es schwankt.
.... das kostet dann eben extrem viel Zeit und ist nicht unbedingt machbar.

Also ich bin für 1% low average > 1% low > Percentile .....dann aber viele lange Messungen...gemittelt usw.

Wenn die Zeit nicht da ist, dann "1% low" als Mittelweg.....z.B. für die Community Benchmarks auf Computerbase.

Percentile mag ich nicht so sehr, auch wenn sie ihre speziellen Vorteile haben können.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Wombatlars und Rexaris
Zurück
Oben