Da ich immer wieder gefragt werde, welche Programme ich für die Erfassung und Auswertung meiner Benchmarkdaten nutze und ich auch großen Wert auf die Transparenz lege, habe ich mich jetzt noch einmal hingesetzt und einen Artikel, den ich 2016, also bereits vor 5 Jahren für Tom’s Hardware verfasst habe, noch einmal komplett neu geschrieben. Denn es hat sich nicht nur bei der Genauigkeit viel zum Guten gewendet, sondern es sind auch viele neue Funktionen hinzugekommen. Allerdings nutze ich diese neueren Versionen zusammen mit Tom’s Guide Frankreich exklusiv, da Tom’s Hardware USA nicht an einer weiteren Kooperation mit mir interessiert war und noch auf die alten Templates und eine zum damaligen Stand auch fehlerhafte Software setzt. Das nur mal als Randbemerkung, denn die Zeit läuft ja weiter und Lizenzen auch aus.
Die allumfassende Erhebung aller relevanter Daten während eines Benchmarks ist die Grundvoraussetzung für einen objektiven und auch inhaltlich korrekten Artikel. Deshalb werde ich heute auch nicht nur zeigen, was ich wie ermittle und auch später grafisch für den Leser auswerte, sondern nebenher auch noch die wichtigsten Begriffe wie Perzentile oder Varianzen erklären, denn vieles wird immer wieder nachgefragt und ich werde mich auch leichter tun, diesen Artikel hier in den relevanten Reviews immer wieder mit zu verlinken. Denn einerseits kommen ja immer wieder neue Leser hinzu und andererseits wird man mit der Zeit auch vergesslich.
Low-Level Datenerfassung für DirectX11, DirectX12 und Vulkan mit NVIDIA FrameView
Für das eigentliche Benchmarken nutze ich NVIDIA FrameView, ein auf PresentMon basiertes LowLevel-Erfassungstool für die aktuellen Frame Times im Spiel, das auch noch Systemdaten abgreifen und alles mehr oder weniger in Echtzeit und synchron protokollieren kann. Im Gegensatz zu CapFrameX kann FrameView nicht nur die Protokolldaten schreiben, sondern ergänzt diese auch um Systemdaten analog zu HWInfo und die Leistungsaufnahmemessung aus PCAT (siehe nächster Absatz). Das eher rudimentäre Tool ist Freeware und kann bei NVIDIA heruntergeladen werden.
Ein grafische Auswertung wie CapFrameX bietet das eher rudimentäre FrameView zwar nicht, allerdings werte ich die für mich deutlich informativeren Protokolldateien ja eh selbst noch aus. Der Normalanwender kann mit CapFrameX hingegen sicher mehr anfangen, da er ja die ermittelten Daten selbst nicht weiter auswerten kann oder muss und dort bereits diverse Metriken als grafische Ausgabe geboten kommt. Will man hingegen exakt für alle Karten mit einer einheitlichen Time-Line arbeiten, egal wie viele Frames innerhalb eines Benchmark-Runs wirklich gerendert wurden, führt das für einen grafischen Vergleich z.B. in Excel nicht wirklich weiter.
Das Problem ist ja auch, dass alle Anwendungen zur Leistungsüberwachung wiederum Systemressourcen verbrauchen, was sich auf die aufgezeichneten Ergebnisse auswirkt. Deshalb nutze ich mit Absicht nur FrameView bzw. eine stark optimierte Version von PresentMon, weil diese Programme zwar auf den ersten Blick mit weniger Funktionen aufwarten (die ich aber so eh nicht benötige), im Umkehrschluss aber deutlich schlanker sind und damit auch messbar weniger Ressourcen benötigen.
Das, was FrameView später in die Protokolldatei ausgibt, enthält alle nützlichen Informationen, die man zur Erstellung eigener Metriken so braucht. Rendered Frame Rate setzt z.B. auf den Zeitstempel am Anfang der Grafikpipeline. Diese Metrik steht für die Glattheit der Animation, die an die GPU geliefert wird. Für die Frame-Time-Auswertungen nutze ich hingegen die Displayed-Frame-Rate, wo dann der Zeitstempel am Ende der Grafikpipeline ausgewertet wird und aussagt, was der Benutzer tatsächlich auf dem Bildschirm wann angezeigt bekommt. Das optinale Overlay brauche ich zwar nicht für die eigentliche Auswertung, aber es ist trotzdem bereits im Spiel ein praktischer Indikator, ob wirklich alles rund läuft.
Auch das Benchmarksystem ist kein Geheimnis, wobei es aus Gründen der Bequemlichkeit und Plausibilität sogar zweimal existiert. Nur die Räumlichkeiten sind andere und ich kann im Bedarfsfall sogar parallel arbeiten, denn beide Systeme wurden auch auf deckungsgleiche Ergebnisse hin geprüft.
Test System and Equipment |
|
---|---|
Hardware: |
AMD Ryzen 9 5900X @4.7 GHz MSI MEG X570 Godlike / X570 Ace 2x 16 GB DDR4 3800, CL16 Be Quiet! Dar Power Pro 1200W |
Cooling: |
Alphacool Eisblock XPX Pro Alphacool Eiswolf (modified) Alphacool Subzero |
Case: |
Raijintek Paean |
Monitor: | BenQ PD3220U |
Power Consumption: |
Oscilloscope-based system: Non-contact direct current measurement on PCIe slot (riser card) Non-contact direct current measurement at the external PCIe power supply Direct voltage measurement at the respective connectors and at the power supply unit 2x Rohde & Schwarz HMO 3054, 500 MHz multichannel oscilloscope with memory function 4x Rohde & Schwarz HZO50, current clamp adapter (1 mA to 30 A, 100 KHz, DC) 4x Rohde & Schwarz HZ355, probe (10:1, 500 MHz) 1x Rohde & Schwarz HMC 8012, HiRes digital multimeter with memory function MCU-based shunt measuring (own build, Powenetics software) NVIDIA PCAT and FrameView 1.1 |
Thermal Imager: |
1x Optris PI640 + 2x Xi400 Thermal Imagers Pix Connect Software Type K Class 1 thermal sensors (up to 4 channels) |
Acoustics: |
NTI Audio M2211 (with calibration file) Steinberg UR12 (with phantom power for the microphones) Creative X7, Smaart v.7 Own anechoic chamber, 3.5 x 1.8 x 2.2 m (LxTxH) Axial measurements, perpendicular to the centre of the sound source(s), measuring distance 50 cm Noise emission in dBA (slow) as RTA measurement Frequency spectrum as graphic |
OS: | Windows 10 Pro (all updates, current certified drivers) |
- 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 →