CapFrameX (CX) - Frametime Capture und Analyse Tool

  • Ersteller Ersteller gaussmath
  • Erstellt am Erstellt am
Ok, ich kann den Fehler auch tatsächlich reproduzieren. Dann ist nur noch die Frage, woher das kommt. ^^
 
Sind eigentlich demnächst noch neue Funktionen oder Änderungen für CapFrameX geplant? Mir würde sicherlich noch was zur weiteren Verbesserung einfallen, wenn ich noch ein etwas ausprobiere.
 
Die Änderungen sind schon in vollem Gange und betreffen hauptsächlich die Comparisons. Es wird sich aber auch ein wenig an den Texten der Capture Page ändern.
 
Ich werde demnächst mal einen größeren Beitrag mit möglichen Ideen einbringen. Ich gucke aber erstmal, ob diese Ideen auch irgendwie sinnvoll sind, bevor ich hier poste.
 
Du musst nicht zwingend alle Vorschläge streng nach Sinn abwägen. Ein wenig Brainstorming wäre mir lieber. :)
 
Mache ich ja auch. Aber ich versuche noch ein bisschen Hintergrundinformationen oder Anwendungsbeispiele dazu anzugeben und auch keine schon vorhandene Funktionen vorschlage, sondern dann überlege, wie man das Vorhandene verbesseren kann.
 
Okay. Ich habe gestern noch ein bisschen rumgebencht und habe mir ein paar Notizen gemacht.

Ist es möglich die GPU Auslastung und eventuell andere Werte ebenfalls auszulesen? Das würde helfen um festzustellen, ob man CPU limitiert ist, ob man Grafiklimitiert ist oder eine Mischung aus beiden. Bei der Umsetzung müsste man mal überlegen. Eventuell kann man andere Logging Software für die eigenen Zwecke einspannen. Eventuell würden sich auch optionale Screenshots anbieten, um die Stellen besser festtellsen zu können. Würde aber wahrscheinlich selbst Framespikes produzieren.

Dann ist mir aufgefallen, dass längere Aufnahmen generell sehr unübersichtlich sind. Hier wäre ein Zoom cool, der die Höhe beibehält, aber den Frametime Graph links und rechts temporär ausblenden kann. So ähnlich wie der Cutting Mode, nur das man einen Zoom Faktor wählt und dann komplett durchscrollen kann.

Ich weiß, dass ihr zurzeit die Vergleiche überarbeitet. Aber ich werfe trotzdem mal meine Gedanken dazu ein. Es wäre insbesondere für Benchmarks sehr nützlich mehrere Benchmarkdurchläufe zusammen zu fassen und als Balkendiagramm zum Vergleichen anzuzeigen. Wenn man dabei noch die Messungenauigkeit berechnet und im Balkendiagramm anzeigt könnte man auch visuell sehen, ob die Unterschiede innerhalb der Messungenauigkeit sind oder nicht.

Bei der synch anzeige ist mir außerdem noch aufgefallen, dass angezeigt wird, ob Tearing möglich ist, oder nicht. Soweit ich weiß, wird auch das per Allows Tearing angezeigt.

Ich hoffe, dass das ganze ein wenig hilfreich für das Projekt ist.

Edit: Mir fällt gerade auf, dass OCAT Dateien die GPU Auslastung im Prinzip angeben. Ganz rechts in der Tabelle ist MsUntilRenderComplete und dieser Wert ist im GPU Limit deutlich höher als im CPU Limit. Ich probiere damit noch was rum.
 
Ist es möglich die GPU Auslastung und eventuell andere Werte ebenfalls auszulesen?
Der Gedanke, die CPU und GPU Auslastung als zusätzliche Linie optional über den Frametimegraphen einzublenden, kam mir auch schon früher und das wäre in der Tat ein cooles Feature.
Mal schauen, von wo und wie einfach sich die Werte auslesen lassen.

Dann ist mir aufgefallen, dass längere Aufnahmen generell sehr unübersichtlich sind. Hier wäre ein Zoom cool, der die Höhe beibehält, aber den Frametime Graph links und rechts temporär ausblenden kann. So ähnlich wie der Cutting Mode, nur das man einen Zoom Faktor wählt und dann komplett durchscrollen kann.
Habe ich auch schon mal angemerkt und wir hatten sogar schon mal eine ähnliche funktion beim Umbau der Graphen drin, also sollte das kein allzu großes Problem darstellen. Wie man das letztendlich umsetzt, also mit Ziehen eines Bereichs, in dem dann die X Achse auf die Länge der Auswahl gezoomt wird, oder mit der Eingabe eines Festen Zeit bzw Framefensters, werden wir sehen.

Es wäre insbesondere für Benchmarks sehr nützlich mehrere Benchmarkdurchläufe zusammen zu fassen und als Balkendiagramm zum Vergleichen anzuzeigen.
Genau das ist auch in Arbeit, allerdings erst nach dem Comparison Umbau. Der Modus bekommt eine eigene Seite, wo man dann z.B. 3 Aufnahmen einfügen und die Graphen aneinanderhängen kann, die Balkendiagramme, die aus dieser Datei dann entstehen, bilden so automatisch den Mittelwert aus allen 3 Aufnahmen.
Dabei wird man evtl auch die Möglichkeit erhalten, jeden der Records vor dem Zusammenfügen zu cutten, wenn jeweils am Anfang oder am Ende Spikes drin sind.
 
Vielen Dank für deine Mühe und Ideen. Ich gehe mal auf die einzelnen Punkte ein.

Ist es möglich die GPU Auslastung und eventuell andere Werte ebenfalls auszulesen? Das würde helfen um festzustellen, ob man CPU limitiert ist, ob man Grafiklimitiert ist oder eine Mischung aus beiden. Bei der Umsetzung müsste man mal überlegen. Eventuell kann man andere Logging Software für die eigenen Zwecke einspannen. Eventuell würden sich auch optionale Screenshots anbieten, um die Stellen besser festtellsen zu können. Würde aber wahrscheinlich selbst Framespikes produzieren.

Edit: Mir fällt gerade auf, dass OCAT Dateien die GPU Auslastung im Prinzip angeben. Ganz rechts in der Tabelle ist MsUntilRenderComplete und dieser Wert ist im GPU Limit deutlich höher als im CPU Limit. Ich probiere damit noch was rum.

MsUntilRenderComplete loggt CX (PresentMon) auch mit. Man könnte in dieser Hinsicht tatsächlich was machen und Analysen auf Basis dieses Parameters anbieten. Geplant ist sogar eine Anbindung an RTSS (Afterburner). Wenn das klappt wie geplant, dann rappelt es im Karton und CX steigt eine weitere Liga auf. ^^

Dann ist mir aufgefallen, dass längere Aufnahmen generell sehr unübersichtlich sind. Hier wäre ein Zoom cool, der die Höhe beibehält, aber den Frametime Graph links und rechts temporär ausblenden kann. So ähnlich wie der Cutting Mode, nur das man einen Zoom Faktor wählt und dann komplett durchscrollen kann.

Ein Sliding Window mit auswählbarer Fenstergröße hatte ich bereits früher drin und es soll auch wiederbelebt werden. Also ja, das Feature kommt.

Ich weiß, dass ihr zurzeit die Vergleiche überarbeitet. Aber ich werfe trotzdem mal meine Gedanken dazu ein. Es wäre insbesondere für Benchmarks sehr nützlich mehrere Benchmarkdurchläufe zusammen zu fassen und als Balkendiagramm zum Vergleichen anzuzeigen. Wenn man dabei noch die Messungenauigkeit berechnet und im Balkendiagramm anzeigt könnte man auch visuell sehen, ob die Unterschiede innerhalb der Messungenauigkeit sind oder nicht.

Auch das war schon relativ lange geplant. Es wurde leider geringer priorisiert bisher. Wir werden eine eigene Seite dafür anlegen, die "Aggregation Page" heißen wird. Dort wird man genau das machen können.

Bei der synch anzeige ist mir außerdem noch aufgefallen, dass angezeigt wird, ob Tearing möglich ist, oder nicht. Soweit ich weiß, wird auch das per Allows Tearing angezeigt.

Absolut, kann mit rein!

Ich hoffe, dass das ganze ein wenig hilfreich für das Projekt ist.

Feedback ist immer gerne gesehen! :)
 
Das mit MsUntilRenderComplete könnte schwierig sein. Der Wert ist leider inkonsistent und im GPU Limit über 100%. Im CPU Limit weicht der Wert von den Wert des Afterburners ab.
Aber eine Anbindung mit RTSS wäre schon genial.
 
hi gaussmath,

hammer Tool hast du da gezaubert. Herzlichen Dank. Auch belastet es nicht zu sehr meine knappen Ressourcen. Ich habe mal zwei Titel die auf Vulkan basieren aufgezeichnet.
Nach den Typischen Einsteigerfehlern ( Schreibschutz im betreffenden Ordner deaktivieren, etc. ) klappts. Falls ich dich im Tutorial richtig verstanden habe ist ein Microsoft Excel nicht zwingend erforderlich.
Gibt es einen Open Source Kalkulator den du empfehlen kannst ?

Danke nochmals und beste Grüße
 

Anhänge

  • NewColossus.png
    NewColossus.png
    319,4 KB · Aufrufe: 32
  • StrangeBrigade.png
    StrangeBrigade.png
    266,6 KB · Aufrufe: 27
Zuletzt bearbeitet von einem Moderator:
Moin Strokekilla,

danke für das Lob. :) CapFrameX ist so konzipiert, dass weitere Analysetools wie z.B. Excel nicht mehr notwendig sind. Was schwebt dir denn vor, was du mit Excel gerne machen würdest? Vielleicht ergibt sich daraus ja ein nützlicher Vorschlag, was man bei CX noch ergänzen könnte.

Ansonsten wäre Libre Office hier zu empfehlen.
 
entschuldige bitte gaussmath,

ich hatte es noch nicht gepeilt bzw. noch immer nicht alle von dir eingebrachten Optimierungen fertig durchgelesen. Bis gestern hatte ich noch OCAT mitlaufen.
Also das Thema Excel hat sich erledigt. Überlappende Frametimes sind wirklich brauchbarer.

Danke nochmals.
 
Im CapFrameX Thread drüben bei ComputerBase hat Wolfgang angekündigt, dass voraussichtlich am Donnerstag ein weiterer Community Benchmark stattfinden wird. Das neue Call of Duty ist dabei das Spiel der Wahl. Erstmals wird auch CapFrameX als Benchmark Tool vollumfämglich eingesetzt. Die relativ neue Capture Funktion soll verwendet werden, um die Performance zu messen. Das ist quasi der Ritterschlag für das Team um CX, wozu ich ja auch gehöre. Für uns ist es eine spannende Sache. Ihr seid herzlich eingeladen mitzumachen. Der Link zu dem Artikel wird auf der Startseite gut sichtbar sein.

Wer sich die Szene jetzt schon anschauen möchte, siehe hier: Call of Duty: Modern Warfare im Technik-Test: Raytracing mit Screenshots und Benchmarks - ComputerBase

Ob es bei der Szene bleiben wird, kann ich im Augenblick nicht sagen, daher sind die Angaben ohne Gewähr. ^^ Bei Fragen zu dem Tool könnt ihr diese hier stellen.

Viel Spaß beim Benchen!

gaussmath alias ZeroStrat
 
Das frische Design gefällt mir gut, mit der älteren Version ist mir die letzte Zeit das Tool immer nach einem run gecrasht. Die aktuelle Version läuft wieder sauber durch und arbeitet hervorragend.
 
Zurück