Die Mutter der Datenaufbereitung – der Interpreter
Der Vorteil eines sehr schlanken Erfassungstools wie NVIDIAs FrameView ist allerdings auch erst einmal ein Nachteil, denn man kann mit den exportierten und in Echtzeit mitgeloggten Daten erst einmal in Excel nichts bis nur wenig anfangen. Das liegt vor allem daran, dass zwar die Benchmark-Laufzeit für alle Grafikkarten in Spielen gleich ist, die Anzahl der gerenderten Einzelbilder (Frames) hingegen nicht. Je schneller eine Karte arbeitet, umso mehr Werte werden auch in die Log-Datei geschrieben.
Will man das später einmal auf einer gemeinsamen Time Line (Zeit-Schiene) in Excel grafisch gegenüberstellen, hat man das Problem unterschiedlich langer Datensätze. Excel ist zudem ein sehr träges Programm, welches mit den Unmengen gelieferter Daten nur sehr langsam vorankommt. Genau dafür habe ich meinen eigenen Interpreter, der nicht nur die Log-dateien verschiedener Erfassungsprogramme (oder gar Spiele) einlesen kann, sondern auch gleichzeitig alle Rechenarbeiten für eine spätere grafische Ausgabe in den Excel-Charts übernimmt. Das geht hier nämlich viel, viel schneller. Und man hat bereits einen ersten Überblick, um die Plausibilität der Messung zu überprüfen und diese ggf. im Zweifelsfall noch einmal zu wiederholen.
Wir haben allerdings vor zwei Jahren noch einmal einen großen Cut gemacht und übergeben neben den extra- bzw. interpolierten Daten für die Grafiken nun auch die gefilterten, originalen Frame Times an Excel weiter, weil wir dort einige Einzelausgaben ergänzt haben und damit einfach genauer hinbekommen können. Dafür wurde auch das verwendete Excel-Template noch um optimierte Makros erweitert. Falls hier jemand von den US-Kollegen mitliest: ein Update würde sich wirklich lohnen. Ich erzeuge im Interpreter automatisch eine weitere Übergabedatei, die einen speziell angepassten Datensatz enthält und den ich dann, Grafikkarte für Grafikkarte im Template einfach einlesen und importieren kann:
Da finden sich dann im Ordner für jede Grafikkarte die relevanten Rohdaten zusammen mit den bereits aufbereiteten Angaben für die grafische Anzeige wieder, die ich Euch auch einmal zeigen möchte. Für allen Kurvendiagramme nutze ich nämlich, damit die Time Line wieder stimmt, einheitlich 1000 Einzelwerte, die ich im Interpreter mit einem smarten Filter aus z.B. bis zu 60.000 Einzeldaten heruntzrgerechnet habe. Überlappende Datenfelder wurden übrigens so zusammengefasst, als würde es eine gestauchte grafische Ausgabe sein. So gehen auch keine Maximal- oder Minimalwerte verloren.
Trotz aller Vorarbeiten stecken im aktuellsten Excel-Template noch ca. 1.3 MB Quellcode für die einzelnen Makros, was aber auch zeigt, dass VBA reichlich ineffizient ist und man zweitkritische Routinen besser auslagert. Die aktuellen Charts-Grafiken, die Ihr ja aus meinen Tests bereits kennt, stehen dann auf einer Ergebnis-Sseite, von wo aus ich sie in mein benötigtes Dateiformat und die vorgegebenen Bildgröße automatisch als PNG-Datei exportieren kann. Auch das möchte ich Euch natürlich nicht vorenthalten:
Und genau diese Grafiken und deren Inhalte werde ich Euch nun auf den nächsten Seiten einmal ausführlicher erklären.
- 1 - Low-Level-Datenerfassung mit FrameView und PCAT
- 2 - Leistungsaufnahmemessung mit NVIDIA PCAT
- 3 - igorsLAB Interpreter und Template
- 4 - FPS und Perzentile, Balken und Kurven
- 5 - Frame Time und Varianzen als Kurven und Balken
- 6 - Leistungsaufnahme und Effizienz in Spielen (GPU und CPU)
- 7 - Leistungsaufnahme, Lastspitzen und Fazit
18 Antworten
Kommentar
Lade neue Kommentare
Urgestein
Urgestein
Urgestein
1
Urgestein
Urgestein
Urgestein
Urgestein
Urgestein
1
Urgestein
Urgestein
Urgestein
Urgestein
Urgestein
Mitglied
Neuling
Neuling
Alle Kommentare lesen unter igor´sLAB Community →