CapFrameX - Capture und Analyse Tool

Ich merge erstmal gerade die Änderungen aus dem Master rüber und dann schaue ich mir deine "kleine" Anmerkung an... ^^
 
Sie ist vom Aufwand her(nach meinem Ermessen) wirklich eher klein, es war nur etwas mehr Text um es gut zu beschreiben^^
 
Ich hab's gepusht. Wenn du Bock zum Testen hast... Ich lese mir jetzt erstmal in Ruhe deine Vorschläge durch.
 
Was ist denn da jetzt alles anders als vorher? Der Hook Updater und das Ignore List Handling fallen mir noch ein.
 
Folgendes sollte enthalten sein:
  • Update der Ignore Liste
  • Update der Game Name Mapping Liste unter Beachtung bestehender Einträge, die abweichen können
  • Sortierung der Recording Liste nach dem Game Namen
  • "Ressource" Ordner wird in "Resource" umbenannt
  • Fix für RDR2

Ergänzung ()

Taxxor schrieb:
Damit die Einstellungen und damit auch das Erscheinungsbild konsistent bleiben, sollten sie im Frametimes/L-Shapes Tab aber auch nicht plötzlich woanders sein, also sollte das Toolbar Feld auch dort genau so drin sein, nur dass in dem Tab dann die Felder für die drei Metriken verschwinden und stattdessen der Toggle für Frametimes/FPS und für die Legende reinkommt.

Hier sehe ich halt das Problem, dass auf dem Tab eh schon zu wenig Platz ist. Wenn da noch ne Toolbar druntergeknetet werden soll... Hmmm...
 
Zuletzt bearbeitet von einem Moderator:
ZeroStrat schrieb:
Hier sehe ich halt das Problem, dass auf dem Tab eh schon zu wenig Platz ist. Wenn da noch ne Toolbar druntergeknetet werden soll... Hmmm...
Daher ja weiter unten der Punkt, den Cutting Mode als Toggle in die toolbar zu packen, damit er standardmäßig nicht da ist. Ist er ja auf der Single Record Page auch nicht. Bei Aktivierung verhält er sich dann genau so wie auf der Single Record Page.
Zusätzlich kann man das Fenster auch noch mal 50 Pixel größer machen, wenn es dann mit aktiviertem cutting Mode gar nicht passen sollte. 50 Pixel wäre genau die Höhe der Toolbar.
Ergänzung ()

Insgesamt finde ich es aber wichtig, dass die Position der Settings nicht von Tab zu Tab hin und her wechselt, das würde z.B. auch für die Single Records gelten, deren Settings könnte man auch von der Mitte nach unten packen und mit der gleichen Farbe hinterlegen und auf die gleiche Höhe setzen, dann ist es hier auch gleich mit den Comparisons
Ergänzung ()

Auf der Single Record Page ist der Frametime Graph gerade übrigens selbst ohne den Cutting Mode niedriger als auf der Comparison Seite, also der Platz ist auf jeden Fall auch ohne Vergrößerung des Fensters da.
 
Zuletzt bearbeitet:
Taxxor schrieb:
Auf der Single Record Page ist der Frametime Graph gerade übrigens selbst ohne den Cutting Mode niedriger als auf der Comparison Seite, also der Platz ist auf jeden Fall auch ohne Vergrößerung des Fensters da.

Ja ok, hast mich überzeugt. Trägst du ein Issue ein?
 
Soll ich den ganzen Text nochmal auf englisch umschreiben oder reicht es dir wenn ich einen Link zu dem Post hier setze?
 
Ich schreibs bei das Redesign Comparison Page als Comment rein, ist ja kein neues Issue sondern gehört dazu
Ergänzung ()

Ist drin.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: ZeroStrat
Ich wage mal ganz vorsichtig zu behaupten, dass das Item Management (Sortierung usw.) jetzt klappt. Der Bug mit den falschen Metriken beim ersten Element sollte auch behoben sein.
 
  • Gefällt mir
Reaktionen: efxeon
Highlighting klappt nach manueller Sortierung noch nicht, und liegt es an mir oder brauchen die Bar Charts jetzt 2-3 Sekunden bis sie erscheinen oder sich aktualisieren(bin im Release Mode)?
Edit: keine Ahnung warum aber beim zweiten Mal ist jetzt alles flüssig.


Und wenn ich bei den Bar Charts sortiere und danach in die Frametimes gehe, sind die Frametime Graphen nicht da, die L-Shapes schon, ich denke mal das hat damit zu tun, dass sie neu gezeichnet werden müssten, wenn man die Sortierung ändert, das ist wohl noch nicht drin.
Wobei Farbe ändern auch nichts bringt, und einzeln entfernen lassen sich die Einträge auch nicht.
 
Zuletzt bearbeitet:
Die langsam aktualisierenden Bar Charts treten übrigens dann auf, sobald ich mal im Frametime Tab war(egal ob ich vorher sortiert habe oder nicht). Bleibe ich nur im Bar Chart Tab, bleibt alles schnell.
Die Verzögerung scheint dabei auch mit jeder Sortierung oder Einfügen neuer Records länger zu werden.
 
Hab mal was gepusht, um die Performanceprobleme zu fixen. Schau mal bitte, ob das was bringt. Es scheint zumindest so...
 
Bei mir läuft es so wie vorher, also sehr viel langsamer nachdem ich einmal im Graphen Tab war. Die Liste rechts reagiert im ms Bereich auf das Sortieren, die Balken sind weit hinterher. Wenn ich 5+ Sekunden warte bis ich den Sortierbutton wieder drücke, dauert es 1-2 Sekunden, wenn ich schneller drücke werden daraus auch schon mal 5 Sekunden.
Es geht dann auch nicht weg, wenn ich alle Records entferne und ein paar Minuten warte, es ist erst nach einem Neustart von CX wieder schnell.

Ich sehe, das manuelle Sortieren per Drag&Drop ist jetzt auch drin, hier gibt es noch ein Problem bei den Graphen. Wenn ich z.B. den grünen und den orangenen Eintrag tausche, wird der orangene Graph markiert, wenn ich mit der Maus auf den grünen Eintrag gehe.
Sortiere ich über den Button bei den Bar Charts passt die Zuordnung aber, wenn ich danach auf die Graphen wechsele.
Ergänzung ()

Ich möchte auch schon mal ein mögliches Problem mit der Sortierung in Verbindung mit den Bar Charts pro Spiel ansprechen, ich denke zumindest, dass es eins werden könnte so wie ich das mit der Sortierung gerade verstehe.

Durch die Verzögerung bei den Bar Charts habe ich mal die Möglichkeit genutzt zu schauen wie denn das Highlighting arbeitet.
Kehre ich die Sortierung um und die Einträge in der Liste verändern sich, wird bei Mousover des ersten Eintrags auch der erste Balken markiert, auch wenn er durch die Verzögerung noch zu einem anderen Eintrag gehört.
Ich gehe also davon aus, dass du das Highlighting einfach so umgesetzt hast, dass die Position in der Liste immer auch die entsprechende Position des Balken markiert.

Das ist, so wie es jetzt ist, auch unproblematisch, aber wir müssen dann schauen, wie die Liste funktionieren soll, wenn wir pro Spiel ein eigenes Diagramm haben.

Nehmen wir mal das Konzeptbild als Beispiel
68489478-765d9700-0247-11ea-8107-612a6f90440d.png


Was würde hier passieren, wenn der zweite ACO Eintrag nicht 76.1 sondern 74.1 avg fps und damit weniger als der Battlefield Eintrag darunter hätte?
Wenn die Liste absteigend sortiert wird, würde der Eintrag dann mit dem ersten Battlefield Eintrag tauschen,
bei den Balken würde sich seine Position aber nicht verändern, weil ja nur innerhalb des jeweiligen Spiels sortiert wird.
Ich habe so das Gefühl, dass dann hier bei Mousover auf den ACO Eintrag der erste Battlefield Balken markeirt werden würde, da nur die Position in der Liste mit der Position der Balken abgeglichen wird, auch wenn die Einträge nicht übereinstimmen.



...Da ich aber nicht weiß, wie das mit den Einzeldiagrammen pro Spiel exakt läuft, kann es natürlich auch sein, dass die rechte Liste dann sowieso im Hintergrund aus mehreren einzelnen Listen besteht, die nicht untereinander interagieren, genau wie die Diagramme.
Dann wäre die beschriebene Problematik ja sowieso nicht vorhanden und ich hätte fast alles hier umsonst getippt^^

Wenn das nicht der Fall sein sollte, wäre genau das mein Vorschlag. Dann könnte man sich vielleicht sogar auch den Game Namen in der Liste für jeden einzelnen Eintrag sparen und mit mehreren Listen untereinander nur eine Überschrift pro Liste mit dem Game Namen machen, die jeweils durch ein paar Pixel voneinander getrennt sind.
Nur mal so als Skizze:
list.png




Drag&Drop darf dann natürlich auch nur innerhalb einer Liste funktionieren, aber ich denke mal das wäre sowieso der Fall.

Dann muss man nur noch festlegen, wie die Spiele(und damit die einzelnen Listen und Diagramme) sortiert werden.
Man könnte hergehen und noch einen weiteren Sortierungsbutton irgendwo hinklatschen, mit dem man die Spiele alphabetisch sortieren kann, ich würde aber sagen man packt sie einfach so untereinander, wie sie eingefügt wurden, also jede neue Liste ans Ende. So kann man sich die Reihenfolge der Spiele selbst festlegen je nachdem wie man sie hinzufügt.

Bei Sortierung der Metriken wird dann nur innerhalb der Liste(und der Diagramme) sortiert, die Position der einzelnen Listen bleibt aber immer die gleiche.
 
Zuletzt bearbeitet:
Taxxor schrieb:
Bei mir läuft es so wie vorher, also sehr viel langsamer nachdem ich einmal im Graphen Tab war. Die Liste rechts reagiert im ms Bereich auf das Sortieren, die Balken sind weit hinterher. Wenn ich 5+ Sekunden warte bis ich den Sortierbutton wieder drücke, dauert es 1-2 Sekunden, wenn ich schneller drücke werden daraus auch schon mal 5 Sekunden.
Es geht dann auch nicht weg, wenn ich alle Records entferne und ein paar Minuten warte, es ist erst nach einem Neustart von CX wieder schnell.

Ich habe eine Laufzeitanalyse gemacht. Ich kann keine Veränderungen bei den Laufzeiten messen nach einem Tab-Wechsel. Allerdings kann ich tatsächlich eine Verzögerung beobachten. Das bedeutet, dass das UI-Update/Refresh länger dauert. Die Ursachen dafür liegen bei den Drittanbieter Libs oder sogar noch tiefer in den MS-Libs. Das zu beheben, könnte ziemlich knifflig werden. Ich pushe jetzt mal meinen neuen Stand. Schau' mal, ob das so akzeptabel ist. Perfekt ist es allerdings noch nicht.
 
ZeroStrat schrieb:
Ich kann keine Veränderungen bei den Laufzeiten messen nach einem Tab-Wechsel. Allerdings kann ich tatsächlich eine Verzögerung beobachten.
Das ist merkwürdig, ich beobachte gar keine Verzögerung vor einem Tab Wechsel, danach jedoch deutlich. Ändert sich mit der neuen Version auch nicht.
 
Taxxor schrieb:
Das ist merkwürdig, ich beobachte gar keine Verzögerung vor einem Tab Wechsel, danach jedoch deutlich.

Vielleicht noch näher erläutert. Ich rufe eine Funktion UpdateCharts() auf, die alle Charts aktualisiert. Um diese Funktion herum habe ich ein Stop Watch gepackt. Die Laufzeitmessung zeigt keinerlei Unterschiede. Der reine Funktionsaufruf ist genau so schnell. Das Refresh der Oberfläche zeigt aber tatsächlich Verzögerungen. Das bedeutet, dass da irgendwas asynchron abläuft, was die Charts zeichnet. Aber das liegt nicht in meinem Code, sondern in anderen Libs wie oben schon beschrieben.

Edit: Deine anderen Erläuterungen schaue ich mir später an.
 
Hm dann wird man wohl vorerst damit leben müssen, ist auch nicht so dramatisch im Alltag, wer sortiert schon alle paar Sekunden^^ Nur beim Hinzufügen neuer Records ist es dann blöd, weil die dann auch bis zu 2-3s auf sich warten lassen, wenn CX nicht einmal komplett geschlossen wird.
 
Zurück
Oben