CapFrameX - Capture und Analyse Tool

Moin,

Hatte heute zum Spaß (naja eher weil mich was gestört hat) mit der 1.2.5 die VSync-Optionen in X4 durchprobiert. Mir gefällt die Möglichkeit die Synchronität auszuwerten von FPS und Monitor Bildwiederholrate (zumindest der Anforderung jener welcher) verdammt gut.
Freesync on und VSync im Spiel auszuschalten ist die mit Abstand beste Option ... nur so am Rande.

Das ausgewählte Aufzeichnungen über die verschiedenen Fenster activ bleiben ist glaube ich schon als Verbesserung geplant/umgesetzt.
Jetzt weiß ich aber nicht ob ihr auch geplant hattet die Aufzeichnung jederzeit zuzulassen und nicht nur wenn die Capture Seite aktiv ist. Bei meinen Tests fand ich es störend immer wieder die Seite wechseln zu müssen.
Auf der Synchronisation Seite wäre eine Korrelation Frametime zu Bildwiederholrate eine schöne Zusatzinformation. So sehe ich nur das es funktioniert, aber nicht auf den ersten Blick in welchem Bereich ich mich bewege.
1573933071492.png


Macht aber immer wieder Spaß es zu benutzen und "It just works" :daumen:

Gruß Beschi
 
  • Gefällt mir
Reaktionen: ZeroStrat
Beschi schrieb:
Macht aber immer wieder Spaß es zu benutzen und "It just works"

Gefühlt ist die Synchronisation Page die am wenigsten gewürdigte Funktion in CX. Dabei ist die Info, ob die Sync Funktionalität korrekt funktioniert Gold wert.

Beschi schrieb:
Jetzt weiß ich aber nicht ob ihr auch geplant hattet die Aufzeichnung jederzeit zuzulassen und nicht nur wenn die Capture Seite aktiv ist. Bei meinen Tests fand ich es störend immer wieder die Seite wechseln zu müssen.

Ab der v1.3 ist die Capture Funktion permanent aktiv.
Ergänzung ()

Beschi schrieb:
Auf der Synchronisation Seite wäre eine Korrelation Frametime zu Bildwiederholrate eine schöne Zusatzinformation.

Diesen Vorschlag finde ich extrem gut. Warum bin ich da nicht schon selbst drauf gekommen? ^^ Ich lege ein Issue damit an.
 
  • Gefällt mir
Reaktionen: Beschi
....ich hätte da eine Idee für eine weitere Funktion. ;)

Also eines der besten Features, das dieses Tool besonders macht ist ja die direkte graphische Darstellung.

Aber die wird immer autoskaliert....das mag ich nicht, da man so gar kein Gefühl dafür hat, wie stark die Schwankungen wirklich sind.....man muss manuell zoomen und grob abschätzen um eine einheitliche Skala zu treffen.

Es wäre cool, wenn man einen Button hätte, der die Skalierung der Y Achse auf einen festen wert setzt....am besten in den Optionen festzulegen.
Ich mag z.B. 0-60 oder 0-80ms.

Bei den Benchmarks zu der crytek Demo, wo mit der alten Version dieser riesen Peak am Anfang gemesse wurde, da sah man ja gar nichts mehr vom eigentlichen Verlauf.
 
Baal Netbeck schrieb:
....ich hätte da eine Idee für eine weitere Funktion.
Immer her mit den Ideen. :)

Baal Netbeck schrieb:
Ich mag z.B. 0-60 oder 0-80ms.
Hm, warum denn 0-60 oder 0-80ms? Ich habe gerade mal ein paar Beispiele mit genau dieser Einstellung durchgeklickt. Da erkennt man meistens nicht sehr viele Details. Wäre ein adaptiver Ansatz nicht besser? Zum Beispiel: Es sind genau jene Werte im Zoom, die keiner Ausreißer sind. Was meinst du dazu?
 
Zuletzt bearbeitet von einem Moderator:
ZeroStrat schrieb:
Da erkennt man meistens nicht sehr viele Details
Kann sein.....in CapFrameX ist das Feld mit dem Graph nicht sehr hoch....ich habe bei OriginPro das Fenster natürlich viel größer.


Naja 0-60 habe ich so gewählt, weil es für mich den wichtigen Bereich abdeckt.

Peaks auf 50-60ms spüre ich in der Regel deutlich negativ....so 20-50 ist je nach Spiel und je nach Szene ein spürbare Bereich, der aber nicht unbedingt unangenehm ruckelig sein muss.

Und 10-20 ist dann zwar schlecht aufgelöst....aber Schwankungen in den Bereich sind für mich eher zweitrangig...... Nicht unwichtig.... Gerade die Reaktionszeiten ändern sich da oft spürbar, aber das sagt mir dann auch der AVG FPS Wert.

ZeroStrat schrieb:
Wäre ein adaptiver Ansatz nicht besser?
Was stellst du dir unter adaptiv vor?

Ich wollte es ja gerade festsetzen, damit man beim durchklicken ein Gefühl entwickeln kann, ob der frametimeverlauf mir wohl ruckelig vorkommt oder unkritisch ist.....gibt es peaks bis nach oben, läuft es schlecht.....gehen peaks in die Mitte ist es so lala.... Und gibt es nur eine krumpelige Linie im unteren Bereich, sind die frametimes als gut anzusehen und ihr genaues verhalten bei den Schwankungen kann ich ja immer noch durch zoomen angucken.

ZeroStrat schrieb:
Es sind genau Werte im Zoom, die keiner Ausreißer sind. Was meinst du dazu?
...was meinst du damit?
Ergänzung ()

Die 0-60 waren jetzt nur meine persönliche Wahl, die ich oft verwendet habe....ich hatte gedacht man sollte diese Grenzen entweder neben dem Button oder im Menü anpassen können.... Da kann man ja auch so Sachen wie das moving AVG Fenster anpassen.
 
  • Gefällt mir
Reaktionen: Taxxor und ZeroStrat
Baal Netbeck schrieb:
Ich wollte es ja gerade festsetzen, damit man beim durchklicken ein Gefühl entwickeln kann, ob der frametimeverlauf mir wohl ruckelig vorkommt oder unkritisch ist.....gibt es peaks bis nach oben, läuft es schlecht.....gehen peaks in die Mitte ist es so lala.... Und gibt es nur eine krumpelige Linie im unteren Bereich, sind die frametimes als gut anzusehen und ihr genaues verhalten bei den Schwankungen kann ich ja immer noch durch zoomen angucken.

Ok, verstehe. Ich kann es als Dropdown in der Toolbar anbieten. In die globalen Settings sollte das nicht rein, weil es unmittelbar steuerbar sein sollte und auch, weil es eine lokale Einstellung ist.

Folgende Einträge wird das Dropdown-Menü bekommen:
  • Full fit (wie bisher)
  • Auto (so, dass die meisten Werte enthalten sind, aber Ausreißer ausgeblendet werden, quasi ein "valider Kern/Streifen")
  • 0-5ms
  • 0-10ms
  • 0-20ms
  • 0-40ms
  • 0-60ms
  • 0-80ms
  • 0-100ms

Ergänzung ()

Hab's als Issue eingetragen.
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: Baal Netbeck
ZeroStrat schrieb:
Folgende Einträge wird das Dropdown-Menü bekommen:
  • Full fit (wie bisher)
  • Auto (so, dass die meisten Werte enthalten sind, aber Ausreißer ausgeblendet werden, quasi ein "valider Kern/Streifen")
  • 0-5ms
  • 0-10ms
  • 0-20ms
  • 0-40ms
  • 0-60ms
  • 0-80ms
  • 0-100ms
Das klingt aus meiner Sicht perfekt :) Danke:daumen:
 
  • Gefällt mir
Reaktionen: ZeroStrat
@Taxxor Schau dir mal an, wie ich mit der Verwaltung des Game Namens im Bar Chart Tab umgehe. Mehr gibt's nicht... :D
Ergänzung ()

Ok, einen Bugfix gab's dann doch noch. ^^
 
ZeroStrat schrieb:
Schau dir mal an, wie ich mit der Verwaltung des Game Namens im Bar Chart Tab umgehe. Mehr gibt's nicht... :D
Werd ich wohl mit leben müssen^^
Ergänzung ()

ZeroStrat schrieb:
Folgende Einträge wird das Dropdown-Menü bekommen:
Wird man dann immer noch zoomen können?
Wenn ich im Menü 0-40 wähle, dann sollte es, auch wenn ich danach manuell zoome, beim nächsten Start wieder 0-40 sein.
Ergänzung ()

Und noch was: könntest du dem Frame mit den Parametern und dem Kuchendiagramm eine Maximalhöhe verpassen?
Gerade weil du die Balkendicke auf der Analysis Seite begrenzt hast, sieht das bei größer gezogenem Fenster ziemlich weit auseinander aus(da gefällt mir die alte Balkendicke in 1.2.5 besser) und der Kuchen ist einfach riesig^^

Anmerkung 2019-11-17 173913.png

Ergänzung ()

Beschi schrieb:
Auf der Synchronisation Seite wäre eine Korrelation Frametime zu Bildwiederholrate eine schöne Zusatzinformation. So sehe ich nur das es funktioniert, aber nicht auf den ersten Blick in welchem Bereich ich mich bewege.
Da verstehe ich noch nicht ganz, was genau du haben möchtest, das Issue was Zerostrat jetzt eingetragen hat lautet
"Show correlation between frametimes and display changed times on "Synchronization" page. "

Aber du sprichst ja von Bildwiederholrate, also willst du die Herzzahl sehen, die der Monitor jeweils hatte, im Grunde (1 / display changed time) *1000 ?
 
Zuletzt bearbeitet:
Taxxor schrieb:
Wird man dann immer noch zoomen können?
Wenn ich im Menü 0-40 wähle, dann sollte es, auch wenn ich danach manuell zoome, beim nächsten Start wieder 0-40 sein.

Ja, hatte ich erstmal so geplant.
Ergänzung ()

Taxxor schrieb:
Und noch was: könntest du dem Frame mit den Parametern und dem Kuchendiagramm eine Maximalhöhe verpassen?

Ok, da bin ich voll bei dir. Sieht sch**** aus.
 
  • Gefällt mir
Reaktionen: Taxxor
Und mir ist aufgefallen, in der 1.2.5 werden die Werte aktualisiert wenn ich mit dem Cutting Mode was wegschneide, im Comparison Branch nicht. Ist das gewollt?
 
Taxxor schrieb:
Und mir ist aufgefallen, in der 1.2.5 werden die Werte aktualisiert wenn ich mit dem Cutting Mode was wegschneide, im Comparison Branch nicht. Ist das gewollt?

Ne, ist mir auch gerade aufgefallen. Bin schon dran. Ich pushe gleich noch einen Bugfix wegen der fehlerhaften Legend-Texte im Frametimes/L-Shapes-Tab.
 
Und da die Gruppierungen ja mit 1.3.0 noch nicht reinkommen werden, würde ich das Auto Sorting ändern.

Gerade habe ich keine Möglichkeit, meherere Spiele gleichzeitig zu vergleichen, ohne dass mir das Auto Sorting die Spiele aufgrund ihrer fps durcheinanderwirft.

Das Auto Sorting(und auch der Sortierungs button unten) sollte erst nach Game(immer absteigend) und dann nach FPS(auf- oder absteigend) sortieren, dann bleiben gleiche Spiele zusammen.
Kombiniert damit, dass du den Namen wieder anzeigen lässt, wenn unterschiedliche Spiele drin sind, wäre das ganze so auch schon fast genau das, was wir mit den Gruppierungen erreichen wollen.

Die Gruppierungen erlauben uns später dann nur noch zusätzlich, den Namen nicht mehr an jedem Balken anzeigen zu müssen.
Denn egal wie wenig du die Namen bei den Beschriftungen magst, komplett ohne Namen ist es sehr müßig, bei 3-4 Spielen und 10 Balken, die Balken den Spielen zuzuordnen. Wenn man einen Screenshot davon teilen will wird's noch schwieriger, weil man dann nicht mal mehr mit dem Highlighting arbeiten kann sondern wirklich immer die Balkenposition mit der Listenposition abgleichen muss.

Am Besten als Toggle in der Toolbar "Group games", der per default an ist.
Falls nämlich jemand wirklich spielunabhängig nach FPS sortieren will, kann er den dann ausschalten.

Und es lässt sich in späteren Versionen auch perfekt mit den Gruppierungen kombinieren:
In der Version 1.3 ändert der Toggle einfach nur die Sortierung in unserem einen Diagramm von ">/<FPS" zu ">Game + >/<FPS" und später, wenn Gruppierungen drin sind, kann man diese mit dem Toggle ein und ausschalten. Wenn der Toggle also nicht aktiv ist, haben wir nur ein einziges Diagramm mit allen Spielen im Diagramm und in der Liste strikt nach FPS sortiert(so wie jetzt) und dem Namen an jedem Balken, wenn er aktiv ist, haben wir die Gruppierungen mit den einzelnen Überschriften ohne Namen an den Balken und in der Liste nach ">Game + >/<FPS" sortiert.

Wenn du das genau so umsetzt, verspreche ich dir, für die 1.3 keinen einzigen Feature Request mehr zu machen und dir nur noch beim Testen der RTSS Anbindung zu helfen:)
Ich kann dir auch mit ziemlicher Sicherheit garantieren, dass sich Leute beschweren werden, wenn keine Spielenamen im Diagramm zu sehen sind.

Ergänzung ()

ZeroStrat schrieb:
Ich pushe gleich noch einen Bugfix wegen der fehlerhaften Legend-Texte im Frametimes/L-Shapes-Tab.
Da passt auch was mit der Bedienung nicht ganz.

- Wenn ich RAM als Kontext habe und die Legende ausblende, dann ist es wieder Date/Time, wenn ich sie wieder einschalte. Bei allen anderen Kontexten bleibt es der gewählte.
Ist die Legende eingeschaltet und ich stelle auf RAM, wechselt der Kontext beim Wechsel auf die Bar Charts auch zu Date/Time, zurück bei den Graphen ist es aber RAM wie gewählt. Bei den anderen Kontexten passt es.

- Wenn der Toggle aus ist und ich in der Liste den Kontext ändere(auch wenn ich dabei bei den Bar Charts bin) dann wird die Legende wieder angezeigt obwohl der Toggle aus ist.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Baal Netbeck
Moin,

@Taxxor jupp Frametime zu fps aka Hz. Bei Freesync wird ein Bereich in Hz angegeben in dem die Synchronisation funktionieren sollte und ich würde gerne ohne umzurechnen sehen ob ich mich noch darin bewege. Ergo einfachere Interpretation für rechenfaule Leute :rolleyes:

Gruß Beschi
 
Zuletzt bearbeitet:
@Beschi
Lässt sich ja einfach an dem Verteilungsdiagramm einbauen, immer die fps neben die frametimes.

Aber solltest du die Tatsache, dass du dich darin bewegst, nicht eigentlich schon daran sehen, dass die Linien aufeinander liegen? wenn sie es an irgendeiner Stelle nicht mehr tun, dann warst du wohl auserhalb des Freesync Bereichs.
 
  • Gefällt mir
Reaktionen: Baal Netbeck
Moin,

@Taxxor ja vielleicht so "6.94 / 144" und als Achsbeschriftung "Frametimes (ms) / Requested Monitor Refreshrate (Hz)", oder mit Eckigen Klammern um den 2. Werte, oder mit Zeilenumbruch, oder ... je länger ich darüber nachdenke, umso verzwickter wird das Ganze :freak:

Theoretisch hast du Recht. Nur handelt es sich bei der Linie um die Anforderung und nicht den tatsächlichen Wert vom Monitor (zumindest interpretiere ich es so anhand der Beschriftungen). Somit kann der Request außerhalb der Sync-Range vom Monitor liegen.

Gruß Beschi
 
Beschi schrieb:
Nur handelt es sich bei der Linie um die Anforderung und nicht den tatsächlichen Wert vom Monitor (zumindest interpretiere ich es so anhand der Beschriftungen). Somit kann der Request außerhalb der Sync-Range vom Monitor liegen.
Ja, das macht Sinn, PresentMon kann ja die Range vom Monitor nicht kennen.

Wie wäre das: Man packt eine Option auf die Seite, wo man seine Freesync/Gsync Range einstellen kann und jeder Balken der außerhalb dieser eingestellten Range liegt, wird rot statt lila gefärbt.
Ergänzung ()

@ZeroStrat Ich könnte auch herausgefunden haben, warum die Balkendiagramme sich verzögert aktualisieren sobald man einmal auf dem Frametimes Tab war, zumindest könnte man da mal nachschauen.

Wenn ich zwischen den Tabs hin und her wechsele, dann wird ja auch der L-Shape jedesmal mit ner schicken Animation neu gezeichnet. Die Zeit die es dauert bis die Linien dort erscheinen variiert ziemlich, manchmal dauerts ne halbe Sekunde, manchmal auch mehr als eine Sekunde. Das passt ziemlich gut zu der Zeit, die die Balken brauchen wenn man sortiert und vorher mal auf diesem Tab war. Vielleicht werden sobald man mal beide Tabs offen hatte, auch beide Tabs immer gleichzeitig aktualisiert und die Balken ändern sich erst, wenn die L-Shapes fertig gezeichnet sind.
 
Zuletzt bearbeitet:
Moin,

@ZeroStrat Radeon Adrenalin Software kann die Sync-Range von meinem Monitor auslesen. Kommst du über Systeminfos auch an die Information? Wenn ja, dann könnte man sie in die Grafik mit einbinden.

Gruß Beschi
 
@Beschi Das würde dann aber wieder schwierig werden wenn man mehr als einen Monitor hat und nicht klar ist welcher der genutzte fürs Gaming ist. Selbst eintragen wäre da schon sicherer.
Ergänzung ()

@ZeroStrat Das Issue
Comments are not updated correctly on comparison page when save button is pressed. Record files must be reloaded.
hast du geschlossen, der Kontext and den Diagrammen ändert sich aber immer noch nicht, wenn ich ihn in der Record Liste ändere und auf Save drücke.
 
Zuletzt bearbeitet:
Zurück
Oben