CapFrameX - Capture und Analyse Tool

Das Dual Axis Chart in CX.
Aktuell nehme ich immer BF V um zu sehen, was das maximale FPS Limit ist, welches ich konstant halten kann und dabei die GPU Auslastung nicht 90% GPU überschreitet.

Ist mit MSI Ab daneben halten a bissal fummelig.
 
Hab noch ein Video Tutorial über das neue Overlay gemacht heute:

Raw und uncut aus der Hüfte geschossen... ^^
 
  • Gefällt mir
Reaktionen: ChrisMK72, Beschi, wrglsgrft und 2 andere
Die Graphen für Frametime und Framerate funktionieren jetzt auch.
1578771310128.png
 
  • Gefällt mir
Reaktionen: ChrisMK72 und Taxxor
Brauchen nur noch ne Überschrift, oder meinste das reicht so? Eigentlich stehts ja an der seite dran^^
 
Habs auch im Branch develop/feature/overlay_graph gepusht.
Ergänzung ()

Taxxor schrieb:
Brauchen nur noch ne Überschrift, oder meinste das reicht so? Eigentlich stehts ja an der seite dran^^

Gibt's im AB ja auch nicht.
 
  • Gefällt mir
Reaktionen: Esenel
@Esenel RAM und CPU-Auslastung kriegen wir noch ziemlich geschmeidig eingebaut. Was die GPU betrifft, müssen wir weitere Libs von Nvidia und AMD einbinden. Aber ich hab Bock drauf und will das Feature auch unbedingt
 
  • Gefällt mir
Reaktionen: Esenel
Eine erste Auswertung des Input lags:

99% GPU Auslastung
Screenshot_2020-12-1_14-44-43_CX_Analysis.png



RTSS 75fps Limit
85-90% GPU Auslastung
Screenshot_2020-12-1_14-44-46_CX_Analysis.png



Im Schnitt -10%
 
  • Gefällt mir
Reaktionen: ZeroStrat
Esenel schrieb:
@Taxxor
Wie berechnet/bewertet ihr das?
Measuring application latency
PresentMon doesn't directly measure the latency from a user's input to the display of that frame because it doesn't have insight into when the application collects and applies user input. A potential approximation is to assume that the application collects user input immediately after presenting the previous frame. To compute this, search for the previous row that uses the same swap chain and then:

LatencyMs =~ MsBetweenPresents + MsUntilDisplayed - previous(MsInPresentAPI)

Esenel schrieb:
Bei Nvidia bitte auch die "Limiter" unbedingt mit aufnehmen! :-)
Es ist ein wenig blöd, wenn man Daten auswerten muss, die nur bestimmte Nutzer überhaupt haben, was soll an der Stelle dann bei den AMD Besitzern stehen?

Wenn wir den Verbrauch in Prozent abfragen könnten und in den Graphen einbauen, sollte das doch reichen, oder? So ist es für alle konsistent. Dafür müssen wir nur an die(eventuell veränderte) Chip max TDP der Karten kommen. Und deinen "TDP Limit" Wert hast du dann ja damit, dass der Graph bei 100% ist.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Esenel
Ich habe mal Raytracing mit Youngblood gestestet. Die Korrelation zwischen den Frametimes und den Input Lag Times bleibt ziemlich konstant. Das ist einfach so als würden die FPS global fallen. Das Handling ist nach wie vor sehr reaktiv und prompt.

RT on
Screenshot_2020-12-1_15-01-25_CX_Analysis.png


RT off
Screenshot_2020-12-1_15-01-23_CX_Analysis.png
 
Zuletzt bearbeitet von einem Moderator:
Taxxor schrieb:
Es ist ein wenig blöd, wenn man Daten auswerten muss, die nur bestimmte Nutzer überhaupt haben, was soll an der Stelle dann bei den AMD Besitzern stehen?

Wenn wir den Verbrauch in Prozent abfragen könnten und in den Graphen einbauen, sollte das doch reichen, oder? So ist es für alle konsistent. Dafür müssen wir nur an die(eventuell veränderte) Chip max TDP der Karten kommen. Und deinen "TDP Limit" Wert hast du dann ja damit, dass der Graph bei 100% ist.

Ist halt viel Bastelei für die AMD Karten.

Bei Nvidia müsstet ihr nur hinterlegte Boolean Werte abfragen, ohne irgendwelchen Aufwand :daumen:

Gibt ja mehrere bei Nvidia.
Thermal/Power/Voltage.
Wie will man die anderen beiden bei AMD abbilden?

Wäre halt Schade eine solch wertvolle Information wegzulassen nur weils einer nicht anbietet :-(
 
Esenel schrieb:
Bei Nvidia müsstet ihr nur hinterlegte Boolean Werte abfragen, ohne irgendwelchen Aufwand :daumen:
Aber wie willst du so einen Wert dann eingebunden haben? Als prozentuale Anzeige, wie oft der Wert true war? Mehr könnte man ja im grunde nicht machen, denn im Graphen müssen wir ja von 0-100 gehen
 
Wir haben nochmal eine Beta aufgesetzt, welche die Approximation des Input Lags und die vollautomatische Ausreißererkennung enthält.

Please participate in the beta-test v1.4.1 beta. 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)
    • Outlier detection and handling
    • Frametime/framerate + embeded graphs
    • Saving aggregated recording file
  • Frametime chart range slider (start, end, slidable window)
  • Input lag approximation (formular from PresentMon README)
LatencyMs =~ MsBetweenPresents + MsUntilDisplayed - previous(MsInPresentAPI)

## 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): https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads

Download: https://github.com/DevTechProfile/CapFrameX/releases/tag/v1.4.1beta
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: Beschi, Taxxor und wrglsgrft
Taxxor schrieb:
Aber wie willst du so einen Wert dann eingebunden haben? Als prozentuale Anzeige, wie oft der Wert true war? Mehr könnte man ja im grunde nicht machen, denn im Graphen müssen wir ja von 0-100 gehen

Man hat ja aktuell schon den Frametime Graphen.
Dazu bräuchte man als Dual Axis die GPU Auslastung.
Und per farblicher Markierung und/oder als Shape den Moment kennzeichnen welcher Limiter gerade aktiv ist.
So kann man auch gleich farblich die Bereiche markieren in denen man im CPU Limit ist.

Denn - auf eine WaKü GPU bezogen - man ist ja entweder im GPU Limit (Voltage oder Power) oder im CPU Limit.

So hätte man alles auf einen Abwasch und was exakt zu welchem Zeitpunkt passiert ist, sowohl Frametime technisch als auch Hardware seitig :-)
 
Esenel schrieb:
So kann man auch gleich farblich die Bereiche markieren in denen man im CPU Limit ist.
Ich würde mir da einfach GPU und CPU Auslastung als Graphen einblenden, bei der CPU natürlich nicht nur die Gesamtauslastung, sondern die Max thread usage zur Auswahl.

Also mit diesen beiden Graphen würden wir erstmal starten.
 
Zurück
Oben