CapFrameX - Capture und Analyse Tool

@ZeroStrat Wo ich gerade noch über die Liste schaue:
  • Kombinieren von Aufzeichnungen, um daraus Gesamtperformanceparameter zu bestimmen -> neues View
"neues View" bedeutet ja noch mal ein extra Fenster für die Anzeige. Wird es aber damit auch möglich sein, diese kombinierten Aufzeichnungen auch in der Comparison View vergleichen zu können?

Denn dafür ist es ja eigentlich gedacht, dass man z.B. drei Messungen in 1080p und drei Messungen in 1440p macht und dann die jeweiligen Mittelwerte vergleichen kann.
Für den Frametimegraph wird das nicht wirklich funktionieren, aber rein als Balkendiagramm sollte das möglich sein, dann könnte man es ja genau so wie es dann beim Comparison View drin ist auch im neuen View einbauen.
Oder planst du eventuell, die kombinierte Aufzeichnung als eigene csv abspeichern zu lassen?
 
Zuletzt bearbeitet:
Neues View bedeutet eine eigene Seite so wie Single Record usw. Die Seite für das Kombinieren von Aufzeichnungen soll übrigens Aggregation heißen. Die Seite ist dazu gedacht, um Aufzeichnungen tatsächlich verketten zu können, so dass ein großer Gesamtgraph entsteht. Diesen Gesamtgraph wird mit über ein Sliding Window lokal betrachten können. Leistungsparameter werden sich auf diesen Gesamtdatensatz beziehen. Ob man das noch speichern können soll, weiß ich noch nicht.
 
@ZeroStrat Wichtig wäre eben, diesen Gesamtdatensatz mit einem anderen Gesamtdatensatz vergleichen zu können. Denn für eine Comparison nimmt man eigentlich ja immer mehr als einen Run pro Einstellung, um ein genaueres Ergebnis zu haben.

Das ginge ja theoretisch am einfachsten, wenn man diesen im OCAT Ordner speichern könnte, denn dann könnte man ihn einfach wie eine normale Einzelmessung benutzen und dass es eine Kombination ist, kann man ja in den Custom Comment eintragen, eventuell direkt beim Abspeichern eine Abfrage, was das denn nun sein soll.
Da schreibt man dann z.B. "1080p" rein und in die csv wird beim Custom Comment automatisch "Combined - 1080p" geschrieben, was man ja dann direkt in der Liste der Datensätze als Spalte sehen kann(wenn diese Spalte noch auf deinem Plan steht). Zeit und Datum ist dann der Erstellungszeitpunkt der Datei.

Alternativ bräuchte man die Balkendiagramme aus der Comparison auch auf dieser Aggregation Seite noch mal, was dann aber überladen wäre, wenn du die Palette von min bis max Werten dort bereits anzeigen lässt.
Und eine Comparison Seite hat man ja jetzt schon, dann kann man besser auch diese dafür nutzen.

Weiterer Vorteil des Abspeicherns: Man kann die Gesamtdatensätze dann auch in der Report Seite einsetzen.
 
Zuletzt bearbeitet:
Der Nachteil beim Abspeichern des Gesamtdatensatzes, sofern man das OCAT Format verwendet, ist halt, dass die ursprüngliche Reihenfolge und vor allem Aufteilung verloren geht. Wieder auftrennen und umsortieren geht dann nicht mehr.
 
Naja die originalen Datensätze, aus denen man diesen zusammengebaut hat, sind ja auch weiterhin vorhanden, auftrennen muss man die Datei danach doch nicht mehr sondern könnte sich bei Bedarf einfach eine neue erstellen mit anderer Reihenfolge oder anderen Datensätzen.

Und man MUSS sie ja auch nicht abspeichern. Wer einfach nur diesen Gesamtdatensatz betrachten möchte, kann das im Aggregation View ja tun und beliebig hin und her schieben.
Wer dann aber zwei Gesamtdatensätze vergleichen möchte, müsste den Weg über's Abspeichern gehen, oder es findet sich eine andere Lösung
 
Ich finde das Datenformat nicht so flexibel, wie ich es gerne hätte. Lieber wäre mir ein Ansatz mit Json und Google Protocol Buffers, was stes vorwärts-/abwärtskompatibel ist und dadurch frei erweiterbar wäre. Dann gäb's keine Limitierungen mehr. Solche Ideen mit Gesamtdatensätzen wären konsistent umsetzbar.

Ich werde das mal bei AMD vorschlagen, vielleicht machen die das. Oder ich mache einfach ne Lib fertig und schmeiße ihnen das vor die Füße. :)
 
@ZeroStrat Eine Anmerkung und zwei Fragen:

Anmerkung: Da der "Stuttering %" Wert alleine in der Statistik steht, macht es vielleicht Sinn, den Balken nicht skalieren zu lassen, ein Balken über die Hälfte der Skala sieht z.B. optisch ziemlich heftig aus, dafür, dass der Stuttering Wert nur bei 0,23% liegt. Zumal er in einem anderen Bench, wo er dann bei 0.58% liegt, genau so lang ist, weil sich die Skalierung ändert.
Hierfür wäre doch(wenn an dieser Stelle nichts neues zusätzlich geplant ist) ein Kuchendiagramm schöner, um den Anteil der Ruckler gegen die Gesamtzahl der Frames zu stellen, genau wie es bei den dropped Frames ist.

Frage 1: Der Adaptive STD Wert soll ja die "Glattheit" der Frametimes beschreiben, aber wie ist der Wert denn zu interpretieren? Ab wie viel kann man von "glatt" sprechen und ab wann wird's kritisch? Vielleicht könnte man hier grobe Bereiche festlegen, in denen der Balken die Farbe ändert, um zu signalisieren, dass der Wert nur mittelmäßig oder schlecht ist. Leider ist das sehr subjektiv(aber das ist der Stuttering Faktor ja im Grunde auch).


Frage 2: Wie bekomme ich meine Dateien wieder in die Liste?^^ Nach meiner Ignore Aktion landen auch alle anderen Games nur noch in der Liste, wenn die Dateien erstellt wurden während CapFrameX offen ist. Nach einem Neustart sind wieder alle weg.
Auch ein Deinstallieren und erneutes Installieren hilft nicht. Wird irgendwo noch eine Art Config gespeichert, die ich manuell löschen muss?
 
Zuletzt bearbeitet:
@Taxxor: Hast du mal den Ordner "C:\Program Files (x86)\CapFrameX" geleert und dann nochmal installiert? Sonst kannst du einfach die Lib "CapFrameX.Configuration.dll" löschen und dann neuinstallieren.

Zu den anderen Punkten später mehr...
 
@ZeroStrat Der komplette Ordner wird ja gelöscht, wenn ich deinstalliere, da gibts nichts mehr zu leeren.
Der Zweite Punkt funktioniert auch nicht(klar, wenn der Ordner ja sowieso beim deinstallieren gelöscht wird, läuft beides aufs Gleiche raus)

Was ich noch nicht versucht habe ist ein kompletter PC Neustart nach den Deinstallieren, das mach ich jetzt mal.
Edit: Hilft auch nicht.
 
  • Gefällt mir
Reaktionen: ZeroStrat
Dann schau mal hier:

Code:
 %userprofile%\appdata\local or %userprofile%\Local Settings\Application Data
 
Das war die gesuchte Config, jetzt läufts wieder :)
 
  • Gefällt mir
Reaktionen: ZeroStrat
Die Adaptive Standardabweichung ist wie eine normale Standardabweichung zu interpretieren. Es ist ein globales Streuungsmaß. Eine Kategorisierung in gut und schlecht darauf anzuwenden, ist sehr schwierig. Aber was ist, wenn du den Wert einfach relativ betrachtest? Eventuell verbessert sich der Wert bei RAM-Tuning, weil er stark latenzabhängig ist oder es steckt eine störende Hintergrundlast dahinter und die Adaptive Standardabweichung ist nach einer erneuten Messung plötzlich besser.

Analyse-Tools müssen möglichst neutral sein, d.h. dass a priori keine Bewertung (Kategorisierung in gut und schlecht) der Daten vorgenommen werden sollte. Selbst Stuttering kann von einem guten Niveau aus kommend keinen fühlbaren Impact haben. Das "Auge" des Testers ist halt nicht ersetzbar.

Dein Vorschlag mit dem Kuchendiagramm für das Stuttering ist schon so gut wie umgesetzt. ^^ Eigentlich sollten da noch andere Werte hinzukommen, aber ich hab's dann wieder verworfen wegen "zu kompliziert und interessiert eh niemanden".
 
@ZeroStrat mal ein Beispiel
std.jpg

Was genau bedeuten denn jetzt die 11,4?

Dass die fps im Schnitt in einem Bereich von 11,4 schwankten? Also +- 5,7?
 
Es ist halt die mittlere quadratische Abweichung, aber abgemildert durch den Abstand zum gleitenden Mittelwert. Durch das Quadrieren der Differenzen werden übrigens größere Abstände stärker bestraft als kleine.

Hilft dir das?
 
Hallo zusammen,
nach Monate langen stillen mitlesen, hab ich mich nun endlich angemeldet^^

Das Tool sieht wirklich mega cool aus und würde ich gerne in zukunft öfter nutzen wollen. Großer Respekt an den Entwickler!

Ich hoffe, mir kann jemand mit OCAT helfen. Auch nach dem 5ten reinstallieren und Langem testen, erstellt es mir einfach keine LOG Datei, die ich dann später für CapeFrameX verwenden kann.

Würde mich über Vorschläge und Hilfestellung sehr freuen!


02/25/19 21:59:27 INFO Version 1.3.0.189 PresentMon 948 OCAT.exe - Recording - Active Process found bfv.exe
02/25/19 21:59:27 INFO Version 1.3.0.189 PresentMon 948 OCAT.exe - PresentMonInterface - Start recording bfv.exe
02/25/19 21:59:29 WARNING Version 1.3.0.189 PresentMon 948 OCAT.exe - PresentMon - Could not create output file for C:\Users\rob\Documents\OCAT\Captures\OCAT-bfv.exe-2019-02-25T215928.csv
02/25/19 22:00:27 INFO Version 1.3.0.189 PresentMon 948 OCAT.exe - PresentMonInterface - Stop recording
02/25/19 22:02:24 INFO Version 1.3.0.189 PresentMon 948 OCAT.exe - Recording - Active Process found bfv.exe
02/25/19 22:02:24 INFO Version 1.3.0.189 PresentMon 948 OCAT.exe - PresentMonInterface - Start recording bfv.exe
02/25/19 22:02:25 WARNING Version 1.3.0.189 PresentMon 948 OCAT.exe - PresentMon - Could not create output file for C:\Users\rob\Documents\OCAT\Captures\OCAT-bfv.exe-2019-02-25T220225.csv
02/25/19 22:03:24 INFO Version 1.3.0.189 PresentMon 948 OCAT.exe - PresentMonInterface - Stop recording
02/25/19 22:08:48 INFO DLLInjector64 11724 DLLInjector64.exe - MessageLog - Logging started
02/25/19 22:08:48 WARNING DLLInjector64 11724 DLLInjector64.exe - ProcessHelper - GetAbsolutePath - Unable to enumerate process hModules. - Error Code: 299 ()
02/25/19 22:08:48 INFO DLLInjector64 11724 DLLInjector64.exe - DLLInjector - Starting dll injection for 11560
02/25/19 22:08:48 WARNING DLLInjector64 11724 DLLInjector64.exe - ProcessHelper - GetAbsolutePath - Unable to enumerate process hModules. - Error Code: 299 ()
02/25/19 22:08:48 INFO DLLInjector64 11724 DLLInjector64.exe - DLLInjector - Acquired process handle for 11560 (<unknown>)
02/25/19 22:08:48 INFO DLLInjector64 11724 DLLInjector64.exe - DLLInjector - Acquired remote DLL address for 11560 (<unknown>)
02/25/19 22:08:48 INFO DLLInjector64 11724 DLLInjector64.exe - DLLInjector - DLL injected into process 11560 (<unknown>)
02/25/19 22:18:32 INFO DLLInjector64 7152 DLLInjector64.exe - MessageLog - Logging started
02/25/19 22:18:32 INFO DLLInjector64 7152 DLLInjector64.exe - DLLInjector - Starting dll injection for 2912
02/25/19 22:18:32 INFO DLLInjector64 7152 DLLInjector64.exe - DLLInjector - Acquired process handle for 2912 (splwow64.exe)
02/25/19 22:18:32 INFO DLLInjector64 7152 DLLInjector64.exe - DLLInjector - Acquired remote DLL address for 2912 (splwow64.exe)
02/25/19 22:18:32 INFO DLLInjector64 7152 DLLInjector64.exe - DLLInjector - DLL injected into process 2912 (splwow64.exe)
 
@Windt4 Es kann unterschiedliche Gründe haben, weshalb die Dateien nicht erstellt werden können. Schau mal, ob der Virenscanner dazwischen funkt. Und starte OCAT mal als Administrator.
 
  • Gefällt mir
Reaktionen: Windt4
Danke für die schnelle Antwort und Hilfe. Habe ich beides ohne erfolg versucht. OCAT ist in AVAST als Ausnahme markiert und startet auomatisch mit Administrator Rechten. Das Overlay geht komischereweise.
Voller Verzweiflung habe ich nun auch AIORunstime laufen lassen... Hat leider auch nichts gebracht
 
Ich würde auf jeden Fall das Overlay deaktivieren. Aktiviere zusätzlich mal testweise die Option "Capture performance for all processes". Teste auch andere Spiele.

Wenn alle Stricke reißen, installiere diese custom OCAT Version, die ich selbst modifiziert habe: https://1drv.ms/u/s!AuNH4ODdyhLpgmarrkRxYaS1A7oe

Das Log-File dieser Version ist was File Errors betrifft ein wenig aussagekräftiger.
 
Zuletzt bearbeitet von einem Moderator:
Halleluja es speichert endlich^^ Ich habe es noch paar mal Reinstalliert. Letztendlich glaube ich lag es an AVAST. Scheinbar muss man hier eine App zweimal als Ausnahme hinzufügen.
  1. Exe und Ordner als Ausnahe unter: Allgemein/Ausnahme.
  2. Exe unter: Allgemein, Blockierte und Zugelassene Apps mit -Ransomware-WebCam-SichereDaten aus.

so ein schmarn. Warscheinlich lief dershalb auch nicht Metro Exodus..

Nochmals Danke für die Hilfe. Endlich kann ich dein Tool ausgibig Testen ;)
 
  • Gefällt mir
Reaktionen: ZeroStrat
Zurück
Oben