CapFrameX - Capture und Analyse Tool

125FPS Cap per RTSS
Screenshot_2020-01-1_13-45-08_CX_Analysis.png


Bei den P95 scheint doch wirklich was nicht richtig zu sein.
 
@ZeroCoolRiddler Wenn du mal den Graphen auf FPS stellst, dann siehst du, woran das liegt, das gleiche wie bei @Esenel ^^

Ein FPS Cap von 125 bedeutet nur, dass die FPS auf 125 gehalten werden, aber nicht, dass keine Frametime unter 8ms gehen kann.
Du hast also am Ende jeder Sekunde immer einen Schnitt von 125 FPS, aber diese kommen nicht durch konstante 8ms Frametimes sondern durch regelmäßige Sprünge zwischen ca 8.8ms und ca 7.2ms, wenn man deine P95 und P5 betrachtet.

Dadurch ist am Ende zwar der Average bei 125, aber da die FPS ja nur die invertierten Frametimes sind, kommen diese Sprünge bei den Perzentilen raus.

Je nachdem welches Tool man für das FPS Cap nutzt, kann es auch anders aussehen, vielleicht gibt es ja wirklich Limiter, die bei 125fps nie unter 8ms gehen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Haldi und ZeroCoolRiddler
Also liegt es einfach an der Umrechnung und der Art und Weise wie die Begrenzer arbeiten.
 
Die Umrechnung ist ja insoweit korrekt und auch absoluter Standard, es liegt im Grunde nur an der Art und Weise wie die Begrenzer arbeiten^^

Je nachdem wie gut das Tool arbeitet, sind die Sprünge kleiner oder auch größer, bei schlechten Tools kann so auch das Gefühl von Mikrorucklern auftreten, wenn sie z.B. bei einem 50fps Limit konstant zwischen 13,3ms und 40ms hin und her springen und dir so deine Frametimes komplett verhauen.
In den Graphen von CX würde man so ein Verhalten dann auch direkt verifizieren können.
Ergänzung ()

Hier mal ein Beispiel einer eher schlechten Umsetzung(Auch wenn es bei der Art des Games nicht stört)

OpenRA hat einen Ingame Limiter auf 75fps, so sieht das im Hauptmenü aus:
Screenshot_2020-02-1_01-14-25_CX_Analysis.png

75 avg fps, die bei 500ms Refresh auch konstant im Overlay angezeigt werden, die Frametimes springen aber zwischen 50fps und 100fps.

Zusatzinfo: Je besser der Limiter arbeitet(allgemein je besser die Frametimes sind, auch ohne Limiter), desto näher ist die "Adaptive STD" am Wert 0.
Allgemein ist alles bis 10 schon ziemlich gut, alles unter 5 ist sehr gut, wobei es bei der Bewertung auch immer auf den FPS Rahmen ankommt, in dem man sich bewegt. Ein Wert von 10 bei 120 avg FPS ist natürlich besser als ein Wert von 5 bei 40 avg FPS.
Ergänzung ()

Und hier zum Abschluss noch ein Beispiel von einem guten Limiter:

Witcher 3 Hauptmenü per Ingame Settings auf 60fps gelockt
Screenshot_2020-02-1_01-27-57_CX_Analysis.png


Je kleiner das Limit, desto einfacher hat es der Limiter natürlich, da bei bei höheren Frametimes kleine Schwankungen von +/- 0.5ms nicht so stark auf die FPS schlagen wie bei niedrigeren Frametimes.
30ms = 33.3fps, 29.5ms = 33.9fps
8ms = 125fps, 7.5ms = 133.3fps

Hier das ganze mit 30fps
Screenshot_2020-02-1_01-31-04_CX_Analysis.png


Wenn man sich nun anschaut, wie sehr die Streuung beim Sprung von 30fps auf 60fps angestiegen ist, dann kommt man, wenn man das auf 125fps weiterführt, auch zu einer Streuung, wie du sie hast.
Ergänzung ()

Wird doch ein sehr langer Post^^

Immer noch Hauptmenü Witcher 3, einmal mit Bandicam limitiert und einmal mit RTSS, da fallen schon Unterschiede auf.
RTSS springt recht konstant hin und her, während Bandicam Phasen mit großen Sprüngen hat und dazwischen immer wieder Phasen wo die Frametimes ziemlich glatt gehalten werden.

RTSS
rtss.png


Bandicam
bandicam.png
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: ChrisMK72, efxeon, ZeroStrat und 4 andere
Hab jetzt mal ein wenig bei CoD probiert, und statt RTSS mit dem Framelimiter vom NV Inspector gearbeitet. Coop Match, Door Kick Mission, einmal 100Hz-100FPS, einmal mit 120Hz-120FPS.
Screenshot_2020-03-1_11-21-25_CX_Analysis.png

Screenshot_2020-03-1_11-53-35_CX_Analysis.png


Sieht etwas gleichmässiger aus als die Messungen mit RTSS.
 
  • Gefällt mir
Reaktionen: cm87 und Taxxor
Battlenonsense hatte mal gemessen, dass bei RTSS der Inputlag am geringsten ist.

Der durch NV Inspector höher.

Ich glaubs dem Kerl mal.
Der macht gute Messungen.
 
  • Gefällt mir
Reaktionen: cm87
Klasse Tool - bin beim Suchen zufällig auf Computerbase draufgestoßen! Danke dafür!

Was ich mir wünschen würde (grad für mich als Anfänger): Da gibt es einen Analyse-Bereich wo P95, P5, usw... steht, aber ich hab keine Ahnung, was das ist. Könnte man bei solchen Dingen nicht ein Mouse-Over machen, das in einem kurzen Satz erklärt, was beispielsweise P95 ist?
 
  • Gefällt mir
Reaktionen: wrglsgrft
anywish schrieb:
Könnte man bei solchen Dingen nicht ein Mouse-Over machen, das in einem kurzen Satz erklärt, was beispielsweise P95 ist?
Was es ist siehst du ja in der Auswahl der Settings.
P5 ist das 5. Perzentil, P95 ist das 95. Perzentil.
Ein mouseover wäre also bei fast allen Werten gleich.

Perzentile lassen sich Recht schwer in einem kurzen Satz erklären, sodass es jeder versteht, aber wir können man versuchen es so kurz wie möglich zu fassen^^ Problematisch wird eher, einen Tooltip für einzelne Balken einzubauen, das dürfte nicht so einfach funktionieren, da diese Balken einen Standardtooltip haben, der einfach ihre Werte zeigt, den wir entweder aktivieren oder deaktivieren können.
Also mal schauen wo wir so einen Tooltip hinpacken können.

Da würde ich aber eigentlich auch schon voraussetzen dass man, wenn man es nicht weiß, selbst nachschaut was ein Perzentil ist.
 
Zuletzt bearbeitet:
Ich schließe mich @anywish da grundsätzlich an. Ich fände es auch gut, wenn es da per mouseover eine kurze Erklärung gäbe.

Da muss ja gar nicht wirklich erklärt werden, was ein Perzentil ist. Es würde ja reichen, wenn da was in der Art steht:
P99 beschreibt den Durchschnittswert der 0,99% der schlechtesten Frametimes, umgerechnet und dargestellt in fps.
Oder irgendwie so in der Richtung... Das käme zumindest dem entgegen, dass das Tool sich ja auch an totale Einsteiger richtet.

Und ja, ich gebe hiermit hochoffiziell zu keine Ahnung von Perzentilen zu haben. Aber ich bin dabei das zu ändern. Nur ist das nicht in fünf Minuten geklärt. :freak:
 
@Taxxor und ich haben uns gerade beraten und wir werden euren Vorschlag in einem Tooltip umsetzen. Das ersetzt natürlich nicht, dass man mal einen Artikel auf Wikipedia über Perzentile liest.

Diesen Bezahl-Artikel von Carsten Spille* kann ich übrigens empfehlen: https://www.heise.de/select/ct/2019/16/1564488219974991

* Er war mal bei PCGH für die CPU-Tests verantwortlich. Bester Mann! ^^

Hab sogar erst heute noch bei PCGH was über Perzentile geschrieben:

"Ein P-Perzentil ist derjenige Wert, für den gilt, dass P% aller Werte kleiner als dieser Wert sind. Das sind die wichtigsten Parameter bei einer Frametime-Analyse, weil die kleinen Perzentile angeben, wie die schlechtesten Frametimes ausfallen. Die Werte entscheiden über die Smoothness des Spieleerlebnisses. Der Mittelwert sagt leider nichts darüber aus. "
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: wrglsgrft
Aber grad der Wikipediaartikel ist besonders abartig... :freak:

Ich schau mir den besten Mann mal an.

Vielen Dank übrigens für das tolle Tool und die Geduld die ihr mit uns Anfängern habt! :)
 
  • Gefällt mir
Reaktionen: Taxxor und ZeroStrat
wrglsgrft schrieb:
Da muss ja gar nicht wirklich erklärt werden, was ein Perzentil ist. Es würde ja reichen, wenn da was in der Art steht:
P99 beschreibt den Durchschnittswert der 0,99% der schlechtesten Frametimes, umgerechnet und dargestellt in fps.
Das wäre ja schon eine Erklärung, aber leider eine falsche ;)
Erstens beschreibt ein Perzentil keinen Durchschnitt, und zweitens geht es bei Perzentilen nicht um schlecht oder gut sondern immer ganz neutral um niedrig oder hoch.

Auf Frametimes bezogen beschreibt P99 den Bereich der höchsten und damit schlechtesten Frametimes, auf FPS bezogen beschreibt es aber den Bereich der höchsten und damit besten FPS.
"Umgerechnet und dargestellt in FPS" -> so beschreibt es CB zwar auch, aber das ist eigentlich verwirrender als es direkt richtig zu machen^^
Warum vom "Perzentil der Frametimes, umgerechnet und dargestellt in FPS" reden, wenn man auch einfach vom "Perzentil der FPS" reden kann?
Die Frametimes werden also vorher in FPS umgerechnet und dann wird eingeteilt.
Das P99 der Frametimes ist somit das P1 der FPS, das P95 der Frametimes das P5 der FPS usw..

wrglsgrft schrieb:
Aber grad der Wikipediaartikel ist besonders abartig... :freak:
Da ich in der Hinsicht kein Anfänger bin, kann ich das evtl nicht so gut beurteilen, aber ich denke der erste Satz aus Zeros Erklärung bei PCGH sollte eigentlich verständlich genug sein, wenn man ihn in einen tooltip packt.
Insofern ist das Prinzip von Perzentilen eigentlich entgegen deiner Annahme doch in 5 Minuten geklärt.^^

Und ja, Wikipedia kann man bei so gut wie allem was mit Mathe und Berechnungen zu tun hat, als Laie vergessen. Wobei der erste Abschnitt zum empirischen Quantil, worauf man kommt wenn man nach Perzentilen sucht, schon recht gut in der Erklärung ist, es ist sogar ein Beispiel direkt mit drin.
Ein Perzentil ist ja auch nur eine spezielle Form eines Quanils, bei dem eben nicht von 0-1 sondern von 0-100 angegeben wird. 95. Perzentil = 0.95 Quantil
Dazu gibt es dann noch allerlei andere Ausdrücke wie z.B. das Quartil, was das 25. Perzentil bzw das 0.25 Quantil ist. Sagst du, etwas ist im 2. Quartil, meinst du einen Wertebereich zwischen 25. und 50. Perzentil.
Das Perzentil teilt den Wertebereich einfach so klein wie möglich ein.


"X% percentile = X% of all values are equal or lower than this"

Also nimmst du dir alle FPS Werte des gesamten Benchmarks und ordnest sie von niedrig nach hoch an, dann ist das 1. Perzentil, bei uns als "P1" abgekürzt, der Wert bei 1% dieser Anordnung, bei 1000 FPS Werten z.B. der 10. Wert.
Wenn der z.B. "65" sagt, dann weißt du, dass von deinen 1000 Werten 1% bzw 10 Werte niedriger als oder gleich 65 waren. Im Umkehrschluss waren also 95% bzw 950 Werte höher als 65.

-> Genau so wird übrigens ein Median bestimmt, er ist einfach das 50. Perzentil.


Die low average Werte sieht man bei vielen Youtubern als Parameter, die sind noch leichter erklärt:

"X% low average = the average of the lowest X% of all values."

Die 1000 FPS Werte werden also wieder von niedrig nach hoch angeordnet und jetzt einfach die niedrigsten 1%, also 10 Werte, genommen und aus diesen Werten der Durchschnitt gebildet.
Das ist das, was du oben als Erklärung für die Perzentile angeboten hattest^^


Wie gesagt direkt an die einzelnen Balken wird eher nicht klappen, wir würden das ganze dann als tooltip an den button packen wo man die Parameter auswählen kann.
Ergänzung ()

ZeroStrat schrieb:
"Ein P-Perzentil ist derjenige Wert, für den gilt, dass P% aller Werte kleiner als dieser Wert sind.
Da eine kleine Berichtigung, wenn ich darf^^
P% aller Werte müssen nicht zwingend kleiner sein, sie können nur nicht größer sein.

Ein P1 von 65 bei 1000 Werten bedeutet nur, dass der 10. kleinste Wert 65 war. Der 9. kleinste Wert könnte aber ebenso 65 sein, genau wie der 8. kleinste Wert ect. und erst der 4. kleinste Wert ist niedriger als 65.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: wrglsgrft und Esenel
[EN] Please participate in the beta-test v1.4.0beta. Download as attachment below.

New features:
  • Overlay based on RTSS (Rivatuner Statistics Server)
    • Capture service status
    • Capture timer
    • Run history
    • Run history aggregation (more consistent than simply averaging multiple results)
    • Frametime/framerate
  • Saving aggregated recording file
  • Frametime chart range slider (start, end, slidable window)
Detailed explanations will follow soon.

RTSS
To use CX overlay the latest RivaTuner Statistics Server has to be installed:
https://www.guru3d.com/files-details/rtss-rivatuner-statistics-server-download.html

Troubleshoot
If the application crashes when the overlay is activated, install Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019: vc_redist.x64.exe

[DE] Nehmt bitte am Beta-Test v1.4.0beta teil. Der Download ist als Anhang siehe unten angefügt.

Neue Features:
  • Overlay basierend auf RTSS (Rivatuner Statistics Server)
    • Capture Service Status
    • Capture Timer
    • Run Historie
    • Aggregation der Run Historie (konsistenter als das einfache Mitteln mehrerer Ergebnisse )
    • Frametime/Framerate
  • Speichern von aggregierten Aufnahmedateien
  • Frametime Chart Range Slider (Start, Ende, verschiebares Fenster)
Detaillierte Erklärungen folgen bald.

RTSS
Um das CX Overlay verwenden zu können, muss der aktuelle RivaTuner Statistics Server installiert werden:
https://www.guru3d.com/files-details/rtss-rivatuner-statistics-server-download.html

Fehlerbehebung
Falls die Anwendung abstürzt, wenn das Overlay aktiviert wird, installiere Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019: vc_redist.x64.exe
 

Anhänge

  • CapFrameX_v1.4.0beta_Setup.zip
    5 MB · Aufrufe: 244
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: Esenel, efxeon, Beschi und 2 andere
Gefällt mir das neue Feature :-)



Nun brauch ich in der Auswertung nur noch GPU Auslastung und CPU Package Power.
Danke! :-)
 
  • Gefällt mir
Reaktionen: ZeroStrat und Taxxor
Esenel schrieb:
Gefällt mir das neue Feature :-)
Gut zu hören^^
Du musst übrigens nicht weiterlaufen, sobald die Zeit abgelaufen ist, ab da wird nichts mehr aufgenommen.
 
  • Gefällt mir
Reaktionen: Esenel
Esenel schrieb:
Ich würde gerne im Frametime Graphen eine Dual Axis haben, auf der ich die GPU Last zuschaltbar drüberlegen kann :-)
Geht das?
Meinst du im OSD oder in CX selbst? In CX selbst ist das geplant.

Btw was ich im Video gerade noch sehe: Du solltest den Capture Hotkey vielleicht nicht auf die gleiche Taste legen, wie die Ingame Screenshot Funktion. Erstens kann das negative Auswirkungen auf die Frametimes beim Start der Aufnahme haben und zweitens müllst du dir so deinen Screenshot Ordner zu, habe heute erst den Screenshot Ordner von Kingdom Come geleert, mit 196 Screenshots zu je 10MB^^
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Esenel
Zurück
Oben