CapFrameX (CX) - Frametime Capture und Analyse Tool

  • Ersteller Ersteller gaussmath
  • Erstellt am Erstellt am
Nur nicht vergessen bei einem Hardware oder Settings Wechsel das entsprechend anzupassen, sonst darfst du wieder alles händisch ändern :P
 
Hier der offizielle Link zur aktuellen Beta

Wir freuen uns über jeden Bug, der gefunden wird, also testen testen testen^^

Release CapFrameX v1.5.3 beta . CXWorld/CapFrameX . GitHub


Edit 15:02 Uhr: Ein Fehler bei den OverlayConfigs wurde gefunden und die Version auf Github wurde angepasst, also wer schon geladen hat und komische Dinge im Overlay gesehen hat, einfach nochmal laden^^

Changelog

## New features
* Added CPU performance per watt to metrics(requires records containing sensor data, GPU Perf/W following in later version)
* Added "GPU clock" and "Time in GPU load Limit" to sensor statistics (load limit showing the percentage of load values that indicate a GPU limit (>= 97%))
* Added "Start with Windows" and "Start minimized" to global options
* Added "Group control" option on "Overlay" page to quickly enable or disable entire groups of sensors to show on the overlay
* Added "Sort metric" option to "Comparison" page to sort bar charts depending on the chosen metric
* Added FPS graphs to "Comparison" page
* Added filters for FPS graphs to either show raw FPS data, an interval based average FPS trend or both graphs together
* Added "Cutting" button to the range slider on "Analysis" page to cut a record according to range slider placement and save it as a new file
* Added overlay options tab
- value limits and colors
- value and group font sizes
- group separators
- options to apply set values to same group or sensor type entries




## Enhancements
* Save button for overlay items list is now disabled as long as nothing was changed to better indicate the need to save
* Cloud download folder is now selectable as observed folder through a button next to the cloud directory setting
* FPS graphs are now automatically centered around their average line.
* First metric is now selectable on "Comparison" page
* Copy sensor statistics to clipboard through context menu
* Copy raw sensor values + times to clipboard through context menu
* Range Sliders can now also be controlled by typing in specific start and end times
* CPU, GPU and RAM as sortable columns of the record list
* Colorpickers now list the CX default colors as standard values




## Bug fixes
* GPU power sensor is not available for Nvidia GPUs on some systems/drivers
* Sometimes a capture fails to be saved and after this the hotkey isn't working until a restart of CX
* Sometimes a change in hardware was falsely detected at startup, making the overlay items list out of order and some group names reverted back to default
* Drag and drop of overlay entries may cause inconsistent entry order
* Possible crash on startup with Windows 10
 
Zuletzt bearbeitet:
Moin!

Bei Dave habe ich letzte Woche gesehen, dass euer Tool offenbar die Min-, Avg- und Max-Frequenzen der CPU während des Messzeitraums angeben kann. Geht das auch für GPUs? Das wäre der Knaller. :-)

Beste Grüße,
Raff
 
Bei Dave habe ich letzte Woche gesehen, dass euer Tool offenbar die Min-, Avg- und Max-Frequenzen der CPU während des Messzeitraums angeben kann. Geht das auch für GPUs? Das wäre der Knaller.

Das geht aktuell noch nicht, wäre aber leicht umsetzbar. Dafür müsstest du aber das Sensor Logging aktiveren, Raff. :D
 
Moin!
Geht das auch für GPUs? Das wäre der Knaller. :-)

Das geht aktuell noch nicht
Warum lügst du ihn an?^^

Liest du Changelog^^

* Added "GPU clock" and "Time in GPU load Limit" to sensor statistics (load limit showing the percentage of load values that indicate a GPU limit (>= 97%))


Zusätzlich, das wurde sich bei CB gewünscht
* Copy raw sensor values + times to clipboard through context menu

Damit hast du nicht nur die min max und avg Werte während des Runs sondern kannst dir jeden einzelnen CPU Clock/Load oder GPU Clock/Load Wert über den Verlauf rausziehen und damit anstellen was du willst^^

CPU Clock ist dabei immer der jeweilige Wert des Kerns der am höchsten getaktet hat, bei der CPU Load wird unterschieden zwischen dem Thread mit der jeweils höchsten Load und der Gesamt Load über alle Threads.

Und mit der "Time in GPU load limit" hast du auch einen Wert, der dir sagt, wie oft du in der Szene bei 97% GPU Load oder darüber warst.
So kannst du bei GPU Tests z.B. direkt angeben, ob die Szene mit der jeweiligen Karte auch komplett im GPU Limit lief und wenn nicht, wie häufig nicht.
Umgekehrt ist das natürlich auch für die CPU Tests eine nützliche Info.

 
Zuletzt bearbeitet:
Ich bin gerade noch nicht glücklich mit der neuen Beta. Das Overlay funktioniert damit nicht mehr. Es zeigt entweder nur Nullen an, oder taucht gar nicht erst auf. Vorschläge?
 
Oh gut dann lade ich es mal noch nicht. Die Leute die da dran sitzen spinnen doch, was die da alles implementieren passt auf keine Kuhhaut mehr^^
 
Ich bezweifle auch, dass der sich während eines Runs verändert^^

Man wird es nie erfahren Mario, weil du es nicht implementiert hast. :ugly:

Hier übrigens mal der GPU-Takt meiner RX 5700 mit Limiter auf 40 FPS.
GPU_clock.png

Und hier der Excel Export.
Sensor_Data_Export_Excel.png

Ich bin gerade noch nicht glücklich mit der neuen Beta. Das Overlay funktioniert damit nicht mehr. Es zeigt entweder nur Nullen an, oder taucht gar nicht erst auf. Vorschläge?

Einfach den Reset Button klicken. Die gesamten Datenstrukturen und damit Möglichkeiten rundum das Overlay sind deutlich komplexer geworden.

Oh gut dann lade ich es mal noch nicht. Die Leute die da dran sitzen spinnen doch, was die da alles implementieren passt auf keine Kuhhaut mehr^^

Doch, mach mal bitte. Wir brauchen jeden Input, den wir kriegen können.
 
Ne, also da ist irgendwas futsch.
CX neu installiert, RTSS neu installiert, jeweils neustart dazwischen.

What the Duck.PNG

Mit der 1.5.2 funzt alles problemlos. Ich mache dann mal ein Downgrade, damit ich weiter benchen kann. :kaffee:
 
Resetten müsstest du die Configs trotzdem, sonst nimmt er die nach der Neuinstallation ja auch wieder. Oder am besten die alten direkt komplett aus dem Dokumente Ordner löschen^^

Aber Nullen finde ich merkwürdig. Wenn die Config nicht mehr kompatibel ist, stehen da für gewöhnlich einfach gar keine Werte sondern nur die Einheiten der Werte, aber keine Nullen.


Wo jetzt anfangs ne Null stehen kann, ist bei der FPS Anzeige, denn die ist jetzt nicht mehr global vom RTSS sondern geht erst über CX und dann ins Overlay, damit wir auch dafür die Limits und Farben setzen können. Dafür sieht man im Overlay aber auch nur noch die FPS von der Anwendung die CX gerade ausgewählt hat, also wenn man mehr als einen Prozess in der Liste hat, sieht man die FPS der ersten Anwendung in der Liste oder die, die man in der Liste manuell angeklickt hat.
Solange noch kein Prozess erkannt wurde, steht dort erst mal ne 0.
 
Die Config hat er selbstständig zurückgesetzt. Also ich musste Hotkeys und Einstellungen nach der Installation neu vergeben und anpassen.
Der Log im Anhang. Das ist der, der gerade erstellt wurde.

Ich versuchs gerade nochmal mit gelöschten CX-Ordner unter Dokumente.

Edit: Hat auch nichts gebracht. Auch zwei verschiedene Versionen des RTSS machen keinen Unterschied (einmal die Stable, einmal die neueste Beta)
Dann erstmal wieder auf die 1.5.2 zurück.
 

Anhänge

{"@t":"2020-07-13T11:07:56.8875202Z","@mt":"Unhandled exception in CapFrameX v1.5.3.4","@l":"Fatal","@x":"System.AggregateException: Ausnahmen einer Aufgabe wurden nicht überwacht (entweder wegen Wartens auf die Aufgabe oder wegen des Zugriffs auf die Ausnahmeeigenschaft. Daher wurde die nicht überwachte Ausnahme vom Finalizer-Thread erneut ausgelöst. ---> System.ArgumentException: Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt.\r\n bei System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)\r\n bei System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)\r\n bei CapFrameX.Sensor.SensorService.InitializeOverlayEntryDict()\r\n bei CapFrameX.Sensor.SensorService.<.ctor>b__23_3(Task t)\r\n bei System.Threading.Tasks.Task.Execute()\r\n --- Ende der internen Ausnahmestapelüberwachung ---\r\n---> (Interne Ausnahme #0) System.ArgumentException: Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt.\r\n bei System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)\r\n bei System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)\r\n bei CapFrameX.Sensor.SensorService.InitializeOverlayEntryDict()\r\n bei CapFrameX.Sensor.SensorService.<.ctor>b__23_3(Task t)\r\n bei System.Threading.Tasks.Task.Execute()<---\r\n"}

Damit können wir arbeiten. Danke dir Dave.
 
Zurück