CapFrameX (CX) - Frametime Capture und Analyse Tool

@PCGH_Raff @PCGH_Dave

Es hat sich doch noch einiges getan in den letzten Tagen. Neben jeder Menge Feinschliff, sind mehrere sehr interessante Memory Sensoren (System + GPU) hinzugekommen, außerdem wurde die Config überarbeitet, so dass Einstellungen nun nach einem Update nicht mehr verloren gehen.

Download

Update 28.01.2021
  • Bugfix to handle possible error while accessing config file on app startup
  • Changed "Used Memory Game" sensor to process performance counter "Working Set"
Important note: The "Used Memory Game" sensor is limited to 4GB because of 32 bit platform target

Der Status ist zwar noch offiziell Beta, aber es wurde sehr gut durchgetestet. Es ist also eher ein Release Candidate. Ich habe die Genauigkeit der Messungen zudem mit anderen bekannten Tools verglichen. Das passt alles soweit. Dabei fiel mir auf, wie komfortabel CX mittlerweile geworden ist. Automatische Ausreißererkennung, automatisches Aggregieren, Feedback auf dem Overlay, unmittelbarer Zugriff auf die Ergebnisse... das gibt's so kein zweites Mal. :-)

Change Log 1.5.8

## New features
  • Option to auto turn off overlay when capturing frametimes to reduce impact on the results.
  • Option to switch between turning off only CX overlay or global RTSS overlay via CX Hotkey.
  • New Sensor page to freely set the sensors that will be logged in benchmarks (Analysis page only shows the basic sensors, Sensor page shows all)
  • Custom resolution chart export for line graphs on Analysis, Comparison and Synchronization page via context menu (resolution can be set under global options)
  • Added "GPU FPS/10W" to metrics and changed "CPU FPS/W" to "CPU FPS/10W" (better visibility for bar charts)
  • Added "Used Memory Game", "GPU Memory Dedicated Game" and "GPU Memory Shared Game" to sensors to log the memory usage of the specific games.
  • Memory sensor for AMD cards provided by ADL ( equivalent to NvAPI)
## Enhancements
  • All sensors that are not used for logging or in the overlay won't be updated to further minimize performance impact
  • Improved hotkey handling (example: Hotkey "X" now also responds to modifier combinations like "Shift+X" as long as there is no other hotkey using that exact combination)
  • "Copy/paste" option for Record lists context menu
  • User config is now saved as JSON in the Documents folder to be persistent when installing new versions.
  • General performance optimizations
## Bug fixes
  • Possible Hotkey sound delay
  • Legends on Comparison page may still be visible even if toggled off
  • Missing power and VRAM (dedicated memory) sensor for AMD GPUs
 
Zuletzt bearbeitet von einem Moderator:
Sehr geil, weiter so. :daumen:

Ich habe die erste große (RX-6900-)Messreihe mit der vorherigen 8er-Beta hinter mir. Alles super soweit. Hotkey-Sound geht wieder (weicht aber nun dem Overlay mit Auto-Off) und die Sensoren funktionieren. Allerdings hatte ich einige Abstürze des Tools, als das observierte Verzeichnis ziemlich mit Messungen "zugemüllt" war.

So, RTX 3080 startet.

Beste Grüße,
Raff
 
Allerdings hatte ich einige Abstürze des Tools, als das observierte Verzeichnis ziemlich mit Messungen "zugemüllt" war.
In solchen Momenten wäre es natürlich gut gewesen, den crashlog hochzuladen oder den Log Eintrag hier zu melden, damit wir auch an einer Lösung arbeiten können.
Ich gehe mal nicht davon aus, dass du noch exakt weißt, wann ein solcher Absturz zuletzt passiert ist und es in deinen Log Files raussuchen kannst?

Und um wieviele Messungen handelt es sich denn in etwa?
 
Bitte jeden Fehler nach Möglichkeit melden, auch wenn es noch so unscheinbar oder selten ist. Danke euch!
 
Das hört sich alles sehr gut an :)
Kommt auch gerade rechtzeitig, heute starten nämlich komplett neue CPU-Index-Benchmarks.
1611736799722.png
 
@PCGH_Raff @PCGH_Dave

Hab mal ein Update eingefügt. Wirklich kriegsentscheidend ist das aber nicht. Es sei denn, ihr habt bereits einen Artikel auf Basis des neuen "Used Memory Game" Sensors gemacht... :D
 
Ein weiteres kleines Update. Der "Used Memory Game" Sensor ist limitiert auf 4GB, da CX derzeit in 32 bit kompiliert ist. Wir arbeiten an einer Lösung.
 
Auch Unwinder klammert sich an die 32Bit-Kompatibilität. Was hat es damit auf sich, wenn ich fragen darf?
 
@HisN Das wüsste ich auch gerne^^
Dass CX in der zuletzt verlinkten Version 32bit war, liegt nämlich genau daran, dass der RTSS auch 32bit läuft und wir die Steuerung des globalen Overlay toggles nur vernünftig hinbekommen, wenn wir sie aus einer 32bit Anwendung aus aufrufen.

Sprechen wir als 32bit Version die normale RTSSHooks.dll an, dann verwaltet der RTSS das ganze intern auf 32 und 64bit Anwendungen und setzt den Toggle auf der Oberfläche entsprechend.

Es gibt aber auch die RTSSHooks64.dll und die können wir auch über 64bit ansprechen, allerdings reagiert dann die UI von RTSS nicht auf den veränderten Status und das Overlay lässt sich damit auch nur in Spielen komplett ausschalten, die ebenfalls 64bit sind.

Diese Einschränkungen haben wir jetzt erst mal so hingenommen und sind mittlerweile wieder bei 64bit.
Dadurch musste die Option rausfliegen, dass man den globalen RTSS Toggle mit unserem Hotkey steuern kann.

Das würde zwar prinzipiell immer noch funktionieren (99% der heutigen Games sind ja 64bit) aber es ist einfach blöd, wenn der Toggle im RTSS dann weiterhin auf ON steht, obwohl es eigentlich abgeschaltet ist. Das kann zu verwirrung führen, wenn man das Overlay mal mit CX abgeschaltet hat und sich später, wenn man z.b. nur HWInfo anzeigen lassen will, fragt warum kein Overlay zu sehen ist, obwohl der RTSS sagt, dass es an ist. Zugegeben seltene Fälle, aber es stört mich einfach^^


In unseren letzten Performance Messungen hat sich gezeigt, dass zwischen CX Overlay an und aus nicht wirklich ein Unterschied besteht(max 1%, im Schnitt eher 0,5% in meinen Tests mit relativ schlankem Overlay), solange das globale RTSS OSD weiterhin an bleibt.
Schaltet man dieses zusätzlich ab, können da schon noch mal 2-3% bei rum kommen, auch wenn es im aktivierten Zustand nichts angezeigt hat. Ein komplett geschlossener RTSS bringt dann auch keine Mehrperformance mehr.

Hier eine der Auswertungen.
"Auto" ist das auto-disable des Overlays während der Aufnahme, hier im Test noch ohne globale Steuerung des RTSS, "Off + RTSS Off" ist mit komplet geschlossenem RTSS und "Auto+RTSS Toggle off" ist das was wir jetzt aktuell haben.
Screenshot 2021-01-30 224644.png


Die Option, es zu deaktivieren während eine Aufnahme läuft, ist somit drin geblieben, da es hier ja am Ende sowieso wieder eingeschaltet wird und der Toggle somit optisch wieder passt.
Wenn man nun ein 32bit Spiel bencht, wird halt nur das CX Overlay deaktiviert, der RTSS bleibt aber an.

Damit müssen wir vorerst leben und vielleicht haben wir irgendwann in Zukunft auch mal einen 32bit Service der nebenher läuft und unsere Befehle an den RTSS überträgt. Die ersten Versuche in der Richtung liefen nicht so wirklich, sodass es leichter war, einfach komplett in 32bit zu arbeiten. Der Wegfall der PCIe Bandbreitensensoren(die nur in 64bit angesprochen werden können) war noch verschmerzbar, aber die Geschichte mit dem RAM war dann zu viel.
 
Zuletzt bearbeitet:
Danke für die Erklärung. Ich freue mich sehr, wenn ihr uns mit den Hintergründen füttert.


Ich hatte Unwinder mal darauf im Guru3D angesprochen ... natürlich aus einem anderen Grund, aber hier wäre seine Antwort.

 
Die Option zum automatischen deaktivieren während der Aufnahme ist generell ja eigentlich auch nur für Reviewer interessant, die unterschiedliche Hardware vergleichen und sicherstellen wollen, dass das Overlay z.b. eine schwächere CPU nicht um 4% einbremst und eine stärkere nur um 1%.
Für den normalen Nutzer hat es nicht viel Relevanz, da man ohne Overlay dann evtl 2-3% mehr Performance in der Messung hat, aber das Overlay sowieso meist nebenher an hat und somit eigentlich nicht das misst, was für einen selbst Realität ist.
Schön, wenn ich 102FPS messe, aber spielen tu ich dann mit Overlay und 100FPS
 
Charmant wie immer^^ Darum müssen wir uns nicht kümmern, da PresentMon bei uns sowieso nur mit Windows 7 aufwärts funktioniert und seinerseits 64bit ist. Von daher könnte ein altes 32bit System CX sowieso nicht richtig nutzen.
In Russland gehen die Uhren was OS-Nutzung an geht auch etwas anders, das sollte man als Besserwessi nicht unterschätzen ;) .
 
@PCGH_Dave
Wann rechnet ihr mit einer präsentierbaren Version? Wir würden gerne in 1-2 Wochen neue Bench-Marathons starten
So, exakt 2 Wochen und 2 Tage nach diesem Post ist die 1.5.8 jetzt final und ihr bekommt den ersten Link dazu, noch bevor sie heute im Laufe des Tages irgendwann auf die Webseite kommt^^


Die einzige größere Änderung im Vergleich zu der Version die ihr momentan habt, ist, dass wir wieder auf 64bit sind und somit der "Used Memory Game" Sensor wieder Werte über 4GB anzeigen kann, dieser ist jetzt auch als Standard RAM Sensor gewählt und wird anstelle der Gesamtnutzung auf der Analysis angezeigt.
Für Aufnahmen mit älteren Versionen, die noch die Gesamtnutzung geloggt haben, wird der RAM nicht mehr an dieser Stelle gezeigt, kann aber nach wie vor auf der Sensor Page gesehen werden.


Kompletter Changelog
## New features
  • Option to auto turn off overlay when capturing frametimes to reduce impact on the results.
  • New Sensor page to freely set the sensors that will be logged in benchmarks (Analysis page only shows the basic sensors, Sensor page shows all)
  • Custom resolution chart export for line graphs on Analysis, Comparison and Synchronization page via context menu (resolution can be set under global options)
  • Added "GPU FPS/10W" to metrics and changed "CPU FPS/W" to "CPU FPS/10W" (better visibility for bar charts)
  • Added "Used Memory Game", "GPU Memory Dedicated Game" and "GPU Memory Shared Game" to sensors to log the memory usage of the specific games.
  • Experimental support for Intel Rocket Lake CPUs


## Enhancements
  • Sensors that are neither used while logging nor displayed in the overlay won't be updated to further minimize performance impact
  • Improved hotkey handling (example: Hotkey "X" now also responds to modifier combinations like "Shift+X" as long as there is no other hotkey using that exact combination)
  • "Copy/paste" option for Record lists context menu
  • User config is now saved as JSON in the Documents folder to be persistent when installing new versions.
  • Record list search bar now also works with comment lines.
  • General performance optimization


## Bug fixes
  • Possible Hotkey sound delay
  • Legends on Comparison page may still be visible even if toggled off
  • Missing power and VRAM sensor for AMD GPUs
 
Zuletzt bearbeitet:
Wir haben das mit dem Plattformwechsel gründlich abgewägt. Nachdem wir festgestellt hatten, dass das Auto disable mit der 64 bit Hook DLL vom RTSS auch wie gewünscht funktioniert, haben wir entschieden zurück auf 64 bit zu gehen.

Ich war ehrlich gesagt ein wenig angefressen, dass die PCIe Durchsatzsensoren rausfliegen mussten, auch wenn @Taxxor meint, das sei verschmerzbar. ^^ Diese Sensoren kommen aus der NVML DLL und die gibt's leider nicht als 32 bit Version.

Als dann die Sache mit den neuen RAM Sensoren auch nicht klappte, hatten wir die Schnauze endgültig voll.
 
Zurück