Der FTI (Frame Time Interpreter) von igor’sLAB
Und trotzdem generiert dies noch lange keine Chartsgrafiken. Genau deshalb habe ich mir für den internen Gebrauch eine recht flexible Software programmiert, die bereits seit Jahren für meine ganzen Charts die Log-Files aus FrameView (und vorher PresentMon) zweckmäßig und richtig auswerten kann. Warum hier eine wichtige Unterscheidung zu treffen ist, möchte ich heute einmal erklären und begründen. Während die meisten Tools wie CapFrameX immer noch die Metrik MsBetweenPresents nutzen, muss man einfach mit der Zeit gehen. Denn PresentMon bietet ja in den Log-Dateien noch viel mehr als nur die reine Renderzeit der GPU. Ich nutze hier zwei Metriken aus gutem Grund und ich kann nur hoffen, dass die ganzen Tools spätestens mit Einführung von NVIDIAs MFG ebenfalls nachziehen, denn eigentlich war vieles auch bis heute schon nicht ganz korrekt. Das Bild unten zeigt meine hauseigene Software, die dann brav Karte für Karte meine Excel-Charts füllt (was ich gleich noch zeige):
Die Metriken MsBetweenPresents und MsBetweenDisplayChange sind zwei wichtige Kennzahlen im Bereich der Leistungsbewertung von Grafikprozessoren (GPUs) und spielen eine zentrale Rolle bei der Analyse der Bildausgabeprozesse und deren Auswirkungen auf die Benutzererfahrung. Um den Unterschied zwischen diesen beiden Metriken im Detail zu erklären, ist es notwendig, den gesamten Ablauf der Frame-Generierung und -Darstellung zu betrachten, von der Verarbeitung eines Frames durch die GPU bis hin zur tatsächlichen Anzeige auf dem Bildschirm.
MsBetweenPresents: Zeit zwischen zwei Frame-Präsentationen
Die Metrik MsBetweenPresents misst den Zeitraum zwischen zwei aufeinanderfolgenden Präsentationen eines Frames durch die GPU. Dies geschieht, wenn die GPU ein neues Bild zur Verarbeitung erhält und dieses an die Render-Queue übergibt. Die Metrik ist dabei ein Indikator für die Frequenz, mit der die Anwendung Frames erstellt und der GPU bereitstellt. Das sind die Werte, die ich für die Bewertung der durchschnittlichen FPS zugrunde lege. Betrachten wir mal diesen Modus in meiner Software und merken uns auch die Ergebnisse:
Merkmale von MsBetweenPresents:
- Fokus auf die GPU-Queue: Die Metrik misst den Zeitpunkt, an dem ein neuer Frame zur Verarbeitung übergeben wird, unabhängig davon, wann dieser tatsächlich angezeigt wird.
- Performance der Anwendung: MsBetweenPresents reflektiert die Effizienz der Render-Pipeline und wie schnell die Anwendung in der Lage ist, Frames zu produzieren und an die GPU weiterzugeben.
- Eignung für CPU/GPU-Analysen: Diese Metrik ist besonders hilfreich, um Engpässe zu identifizieren, die durch die Anwendung oder die GPU-Queue entstehen. Wenn z. B. die Anwendung Frames zu langsam liefert, wird MsBetweenPresents steigen, selbst wenn die GPU leistungsfähig ist.
Einschränkung von MsBetweenPresents: MsBetweenPresents berücksichtigt nicht, wann ein Frame tatsächlich auf dem Bildschirm sichtbar wird. Das bedeutet, dass diese Metrik keine Aussage über die Synchronisation mit dem Display oder die wahrgenommene Fluidität durch den Benutzer liefert. Sie ist daher stärker auf die Analyse der Render-Pipeline ausgerichtet.
MsBetweenDisplayChange: Zeit zwischen tatsächlichen Bildänderungen
Die Metrik MsBetweenDisplayChange erfasst den Zeitraum zwischen zwei sichtbaren Änderungen des angezeigten Bildinhalts auf dem Bildschirm. Dies ist der Moment, in dem das Display tatsächlich ein neues Bild ausgibt, das von der GPU fertiggestellt wurde. Ich nutze diesen Wert für die Varianzen und das P1 Low (einschließlich meiner Perzentil-Kurven), weil es genau die Anzeige widerspiegelt. Auch hier noch einmal zur Veranschaulichung die Darstellung im Interpreter und man sieht sehr deutlich, dass das ausgegebene Bild “runder”, also smoother erscheint als es die vorige Kurve der üblichen Programme eigentlich impliziert hat.
Merkmale von MsBetweenDisplayChange:
- Fokus auf die Display-Ausgabe: Diese Metrik umfasst nicht nur die Renderzeit, sondern berücksichtigt auch den gesamten Prozess bis zur Darstellung auf dem Bildschirm. Dazu gehört auch die Synchronisation mit der Bildwiederholrate des Monitors.
- Bedeutung für die Benutzererfahrung: Sie ist besonders relevant für die Bewertung der wahrgenommenen Fluidität und Bildkonsistenz. Eine niedrige und konsistente MsBetweenDisplayChange-Zeit trägt zu einem flüssigen Seherlebnis bei, während Schwankungen auf Stottern oder ungleichmäßige Frame-Pacing hinweisen.
- Integration von Flip Metering: Bei moderner Hardware und Technologien wie DLSS 4 wird die Frame-Pacing-Logik oft durch spezielle Hardware-Mechanismen wie Flip Metering unterstützt, die sicherstellen, dass die Frames gleichmäßig dargestellt werden. MsBetweenDisplayChange reflektiert diese Optimierungen direkt.
Einschränkung von MsBetweenDisplayChange: Diese Metrik allein gibt keinen direkten Einblick in die Effizienz der Render-Pipeline oder die Zeit, die eine Anwendung benötigt, um Frames zu produzieren. Sie ist primär auf die sichtbare Darstellung und Synchronisation ausgerichtet.
Technischer Vergleich der beiden Metriken
Aspekt | MsBetweenPresents | MsBetweenDisplayChange |
---|---|---|
Messpunkt | Zeitpunkt der Übergabe eines neuen Frames an die GPU-Queue | Zeitpunkt, an dem ein neuer Frame auf dem Display sichtbar wird |
Fokus | GPU-Queue und Anwendungsleistung | Bildausgabe und wahrgenommene Fluidität |
Relevanz für Nutzererfahrung | Indirekt, da sie die Render-Pipeline betrifft | Direkt, da sie die sichtbare Darstellung betrifft |
Verwendung | Analyse der Renderleistung und Pipeline-Engpässe | Bewertung der Bildkonsistenz und -qualität |
Bedeutung von Hardware-Optimierungen | Weniger relevant | Sehr relevant (z. B. durch Flip Metering) |
20 Antworten
Kommentar
Lade neue Kommentare
Mitglied
Neuling
Veteran
1
Urgestein
1
Urgestein
Veteran
Urgestein
1
Urgestein
Veteran
Urgestein
Mitglied
1
Mitglied
Urgestein
Urgestein
1
Alle Kommentare lesen unter igor´sLAB Community →