Mikroruckler bei Grafikkarten: Der Status quo bei AMD und Nvidia
3/10FCAT im Detail
Dass unter den gegebenen Umständen insbesondere Nvidia einen Anlass dafür gesehen hat, an dieser Messmethode etwas zu ändern, überrascht nicht. Schließlich sollen bei GeForce-Karten Anpassungen an der Hardware sowie im Treiber in Prozessschritten nach der Messung durch FRAPS für eine deutliche flüssigere Wiedergabe der einzelnen Bilder sorgen. Um diese Verbesserungen nicht nur sichtbar sondern auch messbar zu machen, hat Nvidia an einer Softwarelösung namens „Frame Capture and Analysis Tool“ gearbeitet. Mit diesem lassen sich Messwerte erstellen, die 1:1 mit dem übereinstimmen, was man als Spieler auf dem Monitor sieht.
Da das Tool mit Videomitschnitten der an den Monitor gelieferten Bilder arbeitet, ist ein Eingriff des Herstellers auf die Ergebnisse ausgeschlossen – das Tool erkennt schließlich nicht, ob ein Video einer Nvidia- oder einer AMD-Grafikkarte analysiert wird. Für uns die Voraussetzung, bei unserer Analyse auf diese Lösung zurückzugreifen.
Funktionsweise
FCAT besteht aus mehreren „Bestandteilen“. Den Anfang macht ein simples Overlay. Das Ziel des Overlay ist es, dass jedes von der Grafikkarte ausgelieferte Frame eine eigene Farbe bekommt. Die sechzehn Farben sind dabei in einer festen Reihenfolge vergeben, sodass immer ersichtlich ist, welches Frame (Farbe) dem nächsten folgen wird. So wird Frame 0 von dem Overlay zum Beispiel immer mit einer weißen Farbe versehen, während Frame 1 hellgrün und Frame 2 blau ist.
- 1. Weiß
- 2. Hellgrün
- 3. Blau
- 4. Rot
- 5. Blaugrün
- 6. Navyblau
- 7. Grün
- 8. Wasserblau
- 9. Rotbraun
- 10. Silber
- 11. Lila
- 12. Oliv
- 13. Grau
- 14. Pink
- 15. Gelb
- 16. Orange
Durch das Overlay lassen sich verschiedene Aspekte sichtbar machen: So sind die Frames, die von der Grafikkarte ausgegeben werden, nur selten synchron mit der Bildwiederholfrequenz des Monitors. Wenn der Monitor mit 60 Hertz läuft, müsste die Grafikkarte schließlich konstant 60 Bilder pro Sekunde ausgeben, damit es pro Monitorzyklus ein einzelnes Frame zu sehen gibt. Die Praxis sieht aber so aus, dass pro Refreshzyklus des Monitors nicht ein gesamtes Frame, sondern Bildteile aus mehreren Frames angezeigt werden. Durch das Overlay lässt sich dann einordnen, aus welchen Frames und zu welchem Prozentanteil eines „Grafikkartenframes“ sich ein „Monitorframe“ zusammensetzt.
Und so lassen sich auch „Runt“- und „Dropped“-Frames erkennen. Da das Overlay immer eine feste Farbreihenfolge vergibt, zeigen sich ausgelassene Frames einfach darin, dass eine Farbe in der Farbreihenfolge fehlt. Nur kurz dargestellte Frames (Runt) weisen hingegen einen kaum dargestellten Farbcode dar. FCAT hat für die Auflösung 1.920 × 1.080 eingestellt, dass ein Frame als „Runt“ gekennzeichnet wird, wenn dieser nur 20 oder weniger Pixel von der vertikalen Auflösung einnimmt und damit quasi nicht zu sehen ist und deswegen keinen Mehrwert bietet. Die Zahl lässt sich nach oben oder nach unten hin ändern, da es Auslegungssache ist, ab wann ein Frame sinnvoll ist oder nicht. 20 Pixel ist unserer Meinung nach ein guter Wert, weswegen wir diesen nicht ändern.
Das Farboverlay von FCAT greift bei „T_present“ ein, an derselben Stelle der Renderpipeline wie FRAPS. Anders als mit dem bekannten Tool misst das Overlay jedoch nichts, sondern „markiert“ die Frames. Diese Frames wandern anschließend weiter durch die Pipeline, bis sie die Grafikkarte auf dem Weg zum Monitor verlassen – und hier greift FCAT erneut ein bzw. ab. Mittels eines zweiten Rechners und einer so genannten Video-Capture-Karte wird der Datenstrom zum Monitor 1:1 und unkomprimiert aufgezeichnet. Inklusive des Farboverlays.
Diese Videos können allerdings nicht nur betrachtet werden, eine weitere FCAT-Komponente nimmt auf Basis der markierten Bilder auch weitere Analysen vor, die Aussagen über die FPS, die „Dropped“- und „Runt“-Frames und die tatsächlichen Abstände zwischen den einzelnen Frames treffen. Was FCAT an Daten ausspuckt, werden wir an einem ausführlichen Beispiel betrachten, nachdem wir auf der folgenden Seite noch kurz auf die Hardwarevoraussetzungen eingegangen sind.