CapFrameX - Capture und Analyse Tool

Leider hat das schöne Wetter heute meinen Programmierplänen einen Strich durch die Rechnung gemacht... ^^
 
Es sei dir gegönnt^^

Ich habe übrigens gerade im Anno Benchmark Thread wieder festgestellt, dass es doch ziemlich wichtig ist, mehr als eine Messung zu machen.
Aktuell steht z.B. mein Ergebnis von 52,9fps in der Liste, habe den Bench danach noch zweimal gemacht und hatte 49 und 50 fps.
Das ist schon ein ziemlicher Unterschied, daher wäre es auf jeden Fall gut, wenn man mit CX später mehrer Messungen nehmen und sie nicht nur anzeigen lassen kann, wie du es im Aggregation vorhast, sondern auch als eigenen Datensatz abspeichern könnte.

Bei dem 10sek Anno Bench hätte man dann eine 30sek Datei erzeugt, wo die Graphen einfach die drei Messungen aneinander gereiht darstellen und die Parameter, Stutterung ect. dann logischerweise der Schnitt aus allen drei sind.


Dein Einwand, dass man die Dateien danach nicht mehr auseinanderziehen könnte, kann ich irgendwie nicht so recht nachvollziehen. Wenn ich sie im Aggregation View immer wieder neu zusammensetzen will, kann ich ja die einzelnen Dateien weiterhin behalten.
Aber wenn ich einen Durchschnitt haben möchte, den ich ggf in der Comparison View mit einem andern Durchschnitt vergleichen möchte(z.B. Schnitt aus 3x Anno mit GPU OC vs. Schnitt aus 3x Anno ohne GPU OC), oder ihn jemand anderem zuschicken möchte, brauche ich jeweils eine eigene Datei.
 
Zuletzt bearbeitet:
@Taxxor Hm, da könnte man auch die Report Seite aufbohren. Und zwar derart, dass man einen Mittelwert von allen Spalten berechnet und ganz unten anzeigt. Aggregation macht quasi das gleiche, aber verkettet die Datensätze. Aber will man das in dem Fall, dass ein Mittelwert aus mehreren Messungen gefragt ist?
 
@ZeroStrat Das wäre eine Möglichkeit, die Werte kann man sich dann ja auch rauskopieren.

Aber ich greife noch mal auf obiges Beispiel zurück: Wenn ich jetzt in der Comparison View z.B. den Anno Benchmark vergleichen will, sagen wir einmal mit 3200MHZ RAM, einmal mit 2666MHz RAM und einmal mit 2133MHz RAM, und mir fällt bei der 3200er Kontrollmessung schon auf, dass meine avg und auch low Werte +-5% von der ersten Messung abweichen, dann möchte ich doch für jedes RAM Setup gerne eine Datei haben, die nicht nur eine einzige Messung enthält, sondern am Besten einen Mittelwert aus mehreren.
Die Alternative wäre nämlich entweder den besten oder den schlechtesten Wert zu nehmen, was nicht sehr genau ist, oder so lange zu benchen, bis man einen Bench hat, der ziemlich einem Mittelwert aus allen entspricht, was sehr unkomfortabel und dabei immer noch nicht so genau ist.

Wenn die Aggregation die Datzensätze verkettet, hat man doch auch den Schnitt aus allen eingefügten Datensätzen oder nicht? Also alle Frametimes der einzelnen Datensätze hintereinander.
Da einfach die Möglichkeit das als eigenen Datensatz zu speichern, dann kann man seine drei Messungen einfügen und sich den Mittelwert so abspeichern lassen, dass man ihn danach in CX auch wieder ganz normal mit anderen Messungen vergleichen kann.

Gleichzeitig kann man sie weiterhin dafür nutzen, mehrere verschiedene Szenen eines Spiels nacheinander zu Benchen, um einen Gesamt Performanceeindruck zu erhalten, wofür du die Seite hauptsächlich einbauen willst, wenn ich das richtig verstanden hatte.
Und auch dabei kann es doch nicht schaden, bzw. wäre mMn doch sehr wünschenswert, die Möglichkeit zu haben, diese verschiedenen Szenen, z.B: 3x 20sek in einer Datei zu bündeln, die man dann mit anderen Settings noch mal wiederholen kann und die beiden verketteten Datensätze dann in der Comparison View als zwei Datensätze mit je 60sek vergleichen kann.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: ZeroStrat
Ok, verstehe. Das wäre sozusagen ein perfekter Anwendungsfall für die Aggregation Page. Zumindest, was die aktuellen Pläne betrifft.
 
  • Gefällt mir
Reaktionen: Taxxor
@ZeroStrat Ich muss halt auch ehrlich sagen, ich sehe nicht so viel Sinn darin, Datensätze in der Comparison View und dort vor allem später bei den geplanten Balkendiagrammen miteinander zu vergleichen, wenn jeder Datensatz für sich selbst schon eine gewisse Streuung haben kann, wenn ich den gleichen Bench nochmal machen würde.

So könnte z.B. bei einem Vergleich zwischen einem 2666MHz Bench und einem 3200MHz Bench, der in der Comparison dann 5% zugunsten des 3200er hätte, auch der 2666er durch irgendwelche anderen Umstände 4% schlechter ausgefallen sein, als es normalerweise der Fall wäre, wenn man mehrere Benches durchgeführt hätte und man würde dann durch die Comparison dem RAM viel zu viel Gewicht zusprechen.

Oder umgekehrt einen positiven Effekt von 3200er RAM ausschließen, nur weil beim 3200er Bench sich im Hintergrund für 2 Sekunden das Antivirenpriogramm gemeldet hat oder wie bei Anno 1800 irgendwo ein Infofenster(z.B. Händler holt waren ab) aufgegangen ist, welches beim 2666er Bench nicht kam und die FPS kurz um 2-3 gesenkt hat.

Beide Settings dreimal oder mindestens zweimal gebencht und die beiden Mittelwerte verglichen bringt einem viel mehr Aussagekraft.
Ich gehe bei Computerbase ja auch mal davon aus, dass sie bei den AVG und P1 Werten, wenn sie eine neue GPU oder ein neues Spiel testen, ebenfalls mehrere Messungen durchführen.



...Aber das ist Material für später, was macht der Capture Modus?
 
Zuletzt bearbeitet:
Taxxor schrieb:
...Aber das ist Material für später, was macht der Capture Modus?

Ich erwecke gerade die Listen für die Capture- und Ignore-Prozesse zum Leben. Ich möchte gerne, dass die Capture-Liste automatisch aktualisiert wird. Die Capture Seite soll mit so wenig Klicks wie möglich auskommen, sonst nehmen die Leute das nicht an...
 
ZeroStrat schrieb:
so wenig Klicks wie möglich
Im Optimalfall hast du den Haken für "Capture all 3D processes" standardmäßig drin und deine Default Ignore Liste ist mit allen gängigen Ausnahmen gefüllt(kann man ja später bei Updates ggf. noch erweitern).
Auch beim Pfad kann man schon einen Standardordner eintragen.

Dann bräuchte man nur oben einmal die Hotkeys und die Aufnahmedauer einstellen(Standard 0=unendlich) und bei Bedarf evtl. einen Comment einfügen und kann losbenchen.
 
Es ist aber nicht immer 3D. :D Du kannst auch deinen Videoplayer benchen!
Ergänzung ()

Meine "avantgardistische" Oberfläche. Kann so bleiben, oder? :freak::D
775520
 
Zuletzt bearbeitet von einem Moderator:
Sehr schön^^
Ergänzung ()

ZeroStrat schrieb:
Es ist aber nicht immer 3D. :D Du kannst auch deinen Videoplayer benchen!
Gut aber der Videoplayer benutzt immerhin die GPU
Könnte man die Prozessliste damit eingrenzen? Alles was kein GPU Modul nutzt rausnehmen?
Dürfte bei OCAT ja auch so sein, denn die einzigen Dinge, die dort neben dem eigentlichen Spiel aufgenommen wurden, waren Prozesse, die ein GPU Modul nutzten. Da blieben bei mir nur 2-3 Prozesse, die ich filtern hätte müssen, wenn OCAT so ne Funktion hätte..

So oder so, "alle" klingt immer noch verwirrend, fand ich bei OCAT schon. Irgendwie muss man es doch kurz und knapp benennen können, ohne dass es klingt als würde man alle Prozesse des Task Managers aufnehmen wenn man das aktiviert.
 
Zuletzt bearbeitet:
Ab wann ist der Prototyp denn bereit zum testen?
 
Eventuell kommendes WE. Es treten zwischendurch immer mal wieder unerwartete Herausforderungen auf. Hab sowas ja noch nicht programmiert... ^^
 
  • Gefällt mir
Reaktionen: cm87
ZeroStrat schrieb:
Hab sowas ja noch nicht programmiert... ^^
Da überrascht es mich aber schon, dass die rudimentäre Funktion scheinbar schon nach ein paar Stunden Aufnahmen machen konnte.

Braucht es eigentlich so einen "Turn it on" Button? Du wolltest doch möglichst wenige Klicks, reicht es nicht, wenn der Service direkt startet, sobald man auf die Capture Seite geht und stoppt wenn man sie verlässt?

Und die Ignore Liste würde ich aufklappbar machen, denn deren Inhalt ist ja nichts, was man ständig sehen muss.
 
Den "Turn it on" Button brauche ich zum Testen. Später kommt der raus. Der ganze (automatische) Verwaltungsaufwand ist schwieriger als ich dachte...
 
Es funktioniert, aber Baustellen ohne Ende...
775854


  • die dynamische Verwaltung der Ignorelist ist nicht angebunden
  • wie soll das "Turn it on" Event verwaltet werden?
  • Auto capture ist noch nicht angebunden
  • die Kommentarfunktion ist tot
  • Hardware Info ist noch nicht angebunden
  • die GPU Last ist mir ein bisschen zu hoch, die App muss minimiert werden
 
Was macht denn der Turn it on Button momentan? Beim draufdrücken wird der Service gestartet und bei nochmaligem drücken wird er gestoppt?
Kann die Funktion zum Starten nicht 1:1 oben auf den Capture Button gelegt werden(Und wenn die Capture Seite die Startseite bleiben soll zusätzlich direkt beim Programmstart)? Und die Funktion zum Stoppen auf jeden anderen Button in der Leiste außer diesem.
 
Zuletzt bearbeitet:
Die Kommentarfunktion lebt wieder und die Ignore-Prozesse lassen sich verwalten. Am WE gibt's auf jeden Fall was zu Testen...
776147


@Taxxor Der Turn it off/on Button wird insbesondere dann gebraucht, wenn man einen Prozess auswählen will, an den sich der Service dranhängen soll und vor allem, wenn man einen neuen auswählt und den alten zuvor entkoppeln muss.
 
Zuletzt bearbeitet von einem Moderator:
Hmm das klingt ja im Grunde Recht logisch für den Nutzer, dann darf der button halt nur sichtbar sein wenn man nicht Auto capture ausgewählt hat.

Theoretisch bräuchte man sogar die Prozessliste nicht Mal einblenden wenn Auto capture aktiv ist.

Der Button würde dann Hook heißen und das Gegenteil von Hook, keine Ahnung was es da für schöne Wörter gibt^^

Aber ist es so kompliziert das zu automatisieren dass der aktuelle entkoppelt wird wenn man einen anderen anklickt und den hooked?

Dann bräuchte man nur den hooked Button und vielleicht einen Text darunter wo dann steht "XY hooked"
 
Doch, sowas in der Art werde ich umsetzen. Das Klicken auf einen Eintrag in der Liste löst ja auch ein Event aus, welches man genau dafür nutzen kann.

Wir nähern uns dem Optimum Stück für Stück. ^^ Erstmal muss die Basisfunktion stehen. Am WE kannst du die auf links drehen. :D
 
Zurück
Oben