GPU-Benchmarks in VR: AMD und Nvidia im Wettstreit um den Supersampling-Faktor

David Pertzborn
168 Kommentare
GPU-Benchmarks in VR: AMD und Nvidia im Wettstreit um den Supersampling-Faktor

tl;dr Aktuelle VR-Benchmarks sind rar. ComputerBase vergleicht AMD und Nvidia und berücksichtigt dabei, dass FPS in der virtuellen Welt nicht das Maß der Dinge sind. Stattdessen wird im Test der Supersampling-Faktor so lange erhöht, bis die GPU kapituliert und es zu Framedrops kommt. Die Ergebnisse sehen Nvidia klar in Front.

Seit Jahren liefert ComputerBase monatlich die Grafikkarten-Rangliste, in der von Full HD bis Ultra HD die besten Grafikkarten empfohlen werden. Je nach eigenem Budget und der gewünschten Auflösung ist hier vom Einsteigermodell bis High End alles dabei. Die Basis bilden klassische Spiele.

GPU-Anforderungen in VR

Doch gerade in Anbetracht der neuen Generation an VR-Headsets in Form von zum Beispiel Oculus Rift S (Test), Valve Index oder HTC Vive Cosmos stellt sich auch für VR-Spieler die Frage, welche Grafikkarte es für das Eintauchen in die virtuelle Welt sein soll und 1:1 übertragen lassen sich Erkenntnisse aus den klassischen Spielen nicht.

Das liegt nicht nur an den APIs inklusive ihrer Software-Tricks der VR-Plattformen, sondern auch daran, dass in VR zwangsläufig V-Sync aktiv ist. Ein klassischer Benchmark gleicht hier, solange alle GPUs die V-Sync-Grenze einhalten können, einem Autorennen durch eine Tempo-30-Zone, bei dem sich alle Teilnehmer an das Tempolimit halten.

Die „Währung“, in der Testkandidaten gemessen werden, ist eine andere. In VR möchte man oft die intern berechnete Auflösung, sprich den Supersampling-Faktor, aufdrehen, da so das Bild deutlich klarer wird und Details erkennbar werden, die sonst verloren gehen. Zu vermeiden gilt es dabei die unschönen synthetischen Zwischenbilder oder gar Framedrops, was im schlimmsten Fall zu „Motion Sickness“ führen kann.

GPU-Benchmarks in VR

Nicht nur die Anforderungen an den eigenen Rechner sind in VR anders, auch im Benchmark müssen Abweichungen zum üblichen Vorgehen am Bildschirm bedacht werden. Klassische FPS-Counter wie Fraps sind hier außen vor, weil es neben den wirklich neu berechneten Bildern auch lediglich leicht angepasste alte Bilder geben kann – und sie zu unterscheiden, ist durchaus von Relevanz. Wie in vergangenen VR-Benchmark-Tests hat die Redaktion stattdessen auf Nvidias FCAT VR zurückgegriffen, das sich seit 2017 als Referenz für Benchmarks in VR bewährt hat und im Gegensatz zum bisher bekannten klassischen Pendant keinen High-End-Rechner mit RAM-Disk braucht. Als VR-Headsets kommen im Test HTCs Vive Pro mit 90 Hz und die Oculus Rift S mit 80 Hz zum Einsatz.

Echte neue versus synthetische (alte) Frames

Grundsätzlich gibt es erst mal keinen Unterschied zwischen der Ausgabe am Bildschirm und der im VR-Headset. Vereinfacht ausgedrückt liefert die CPU die Daten und die Grafikkarte macht daraus ein Bild (Frame). Aber für VR reicht das nicht. Je nach Headset und Situation muss das Bild weiter angepasst werden, bevor es angezeigt werden kann. Typische Aufgaben sind Farbanpassungen und linsenspezifische Korrekturen (Warp). Für beides bleiben dem System zusammen jeweils gut 11 ms Zeit, um die vom Headset erwünschten 80 Bilder oder 90 Bilder pro Sekunde liefern zu können. Mit FCAT VR von Nvidia kann man auslesen, wie lange die Grafikkarte für jeden einzelnen Frame gebraucht hat, und auf dieser Basis berechnen, wie viele Bilder theoretisch möglich gewesen wären.

Optimal: Frame und dessen Warp passen in 11,11 ms
Optimal: Frame und dessen Warp passen in 11,11 ms (Bild: Nvidia)

Interessanter wird es, wenn die Grafikkarte nicht schnell genug ist, also kein neues Bild in 11,11 ms (Vive Pro) beziehungsweise 12,5 ms (Rift S) fertigstellt. In einem klassischen PC-Spiel für den Bildschirm würde dann Folgendes passieren: Das alte Bild wird erneut angezeigt und der Nutzer sieht einen kurzen Ruckler. Das stört immer, fest verankert in der Realität wird dem Anwender davon aber nicht schlecht. In Virtual Reality passt das unveränderte Bild wiederum nicht mehr zu den Bewegungen des Nutzers und das Gehirn merkt, dass irgendetwas nicht in Ordnung ist. Dem Anwender wird unwohl bis schlecht („Motion Sickness“).

Schlecht: Der 2. Frame dauert zu lange, der erste wird nochmals ausgegeben
Schlecht: Der 2. Frame dauert zu lange, der erste wird nochmals ausgegeben (Bild: Nvidia)

Aber sowohl Oculus als auch Valve bieten in ihren SDKs mittlerweile Software-Tricks an, die dieses Problem umgehen. Hier kommen die synthetischen Zwischenbilder wieder ins Spiel, die keine neuen Informationen aus dem Spiel, wohl aber neue Positionsdaten des Spielers enthalten. Bei Oculus heißt das Asynchronous Timewarp (Erklärungen im Developer-Blog), SteamVR bietet eine ähnliche Technologie. FCAT VR ermöglicht es, die tatsächlich gelieferten Bilder pro Sekunde zu messen, und zeigt auf den Frame genau an, ob dieser rechtzeitig war, durch ein synthetisches Zwischenbild interpoliert wurde, oder es zu einem Framedrop kam.

Gerade mit einer schnellen Grafikkarte und ohne Supersampling passiert dies jedoch selten und in den meisten Spielen läuft einfach alles konstant mit der Framerate, nach der das jeweilige Headset verlangt. In diesen Fällen langweilt sich eine schnelle aktuelle GPU. Die Rechenleistung, die hier übrig ist, kann und sollte beim Spielen in VR in Supersampling umgesetzt werden, da dies die wahrgenommene Bildschärfe und Qualität massiv verbessert und optisch oft einen höheren Nutzen hat als die Ingame-Settings aufzudrehen.

Die Lösung: Der 1. Frame wird angepasst  nochmals ausgegeben (synthetischer Frame)
Die Lösung: Der 1. Frame wird angepasst nochmals ausgegeben (synthetischer Frame) (Bild: Nvidia)

Testsystem und Grafikeinstellungen

Die Grafikkarten-Benchmarks wurden auf einem auf 4,6 GHz übertakteten Intel Core i7-6700K durchgeführt, der mit 16 Gigabyte Arbeitsspeicher nach DDR4-2666 im Dual-Channel-Modus bestückt ist. Die verwendeten Treiber waren AMDs Adrenalin V 19.6.1 beziehungsweise Nvidias GeForce V430.86.

Acht Grafikkarten von AMD und Nvidia

Als Grafikkarten kamen eine MSI Radeon RX 580 Gaming X 8G, eine MSI GeForce GTX 1060 Gaming X 6G sowie eine MSI GeForce GTX 1660 Ti Gaming X von MSI, die Inno3D GeForce GTX 1070 iChill X3, eine EVGA GTX 1080 Ti SC Black Edition und die RTX 2080 Ti in der Founders Edition zum Einsatz. Abgerundet wird das Testfeld durch eine PowerColor Radeon RX Vega 56 Red und die AMD Radeon VII. Alle Grafikkarten liefen mit den vom Hersteller vorgegebenen Taktraten.

Die Darstellung erfolgte jeweils auf dem im Benchmark angegebenen Headset. Für die Oculus Rift S wurde ein Roomscale-Setup verwendet, bei HTCs Vive (Pro) zwei Lighthouse-Stationen. Die Headsets wurden für den Test jeweils in einer festen Position, ungefähr auf Kopfhöhe, befestigt. Alle Messwerte ermittelte ComputerBase mit der Software Nvidia FCAT VR.

Grafikeinstellungen und Testszene

Die Testsequenz wurde mit dem Ziel ausgewählt, gut reproduzierbar zu sein. Dafür sollte sie zum einen wenige oder keine Elemente besitzen, die sich bei jedem Durchlauf stark ändern, und zum anderen eine Anforderung an die Grafikkarten stellen, die im Bereich dessen liegt, was vom entsprechenden Spiel durchschnittlich gefordert wird.

Hierfür wurden Szenen direkt zu Beginn des Spiels gewählt: Bei Trover Saves the Universe und Skyrim VR jeweils direkt das Intro, bei Robo Recall der Beginn der zweiten Mission, bei Moss die zweite Storysequenz nach dem ersten Level. Bei Project Cars 2 kam dieselbe Testszene zum Einsatz wie im klassischen Benchmark, nur ohne KI-Gegner.

Die Grafikeinstellungen wurden jeweils so gewählt, dass zumindest bei den meisten Grafikkarten die 80 FPS beziehungsweise 90 FPS ohne Supersampling gehalten werden können. Dies macht es insbesondere bei Project Cars 2 nötig, die niedrigsten Einstellungen zu verwenden, da es sonst auf allen AMD-GPUs, unabhängig vom verwendeten Supersampling, unmöglich war, konstant 80 FPS zu erreichen.

Das Messverfahren im Detail

Wie angesprochen, liefert eine reine Betrachtung der Framerate in VR keinen guten Vergleich der Leistungsfähigkeit der Grafikkarten. Um diesem Umstand gerecht zu werden, kommt in diesem Test zum ersten Mal eine neue Auswertungsmethode zum Einsatz, die besser dem entsprechen soll, was im realen virtuellen Einsatz passiert.

Hierfür wird zunächst in jedem Spiel, in SteamVR und in Oculus Home jegliche Art von automatischer Auflösungsanpassung deaktiviert. Bei SteamVR findet sich diese Einstellung im Unterpunkt „Video“, während es bei Oculus Home unter Verwendung einer Oculus Rift S im Unterpunkt „Geräte“ die Option „Qualität bevorzugen“ gibt, die sicherstellt, dass immer mit der vollen Auflösung gerechnet wird.

Aufdrehen, bis die Grafikkarte schlapp macht

Nun wird für jede Grafikkarte einzeln die intern berechnete Auflösung via Oculus-Debug-Tool oder SteamVR-Einstellungen so lange hochgedreht, bis die native Bildwiderholrate des verwendeten Headsets nicht mehr gehalten werden kann. Dies wird ermittelt, indem die mit FCAT VR gemessenen „Delivered FPS“ betrachtet werden. In die Diagramme zu den einzelnen Spielen werden dann jeweils für drei Punkte die erreichten FPS über dem verwendeten Supersampling aufgetragen. Einmal der erste Wert, bei dem die native Bildwiderholrate nicht erreicht wird, und die beiden letzten Punkte davor.

Supersampling ist nicht gleich Supersampling

Beachtet werden muss dabei, dass SteamVR und Oculus das Supersampling auf zwei verschiedene Arten angeben, die beide auf ihre Weise Sinn ergeben. SteamVR zeigt die prozentuale Veränderung der Auflösung an, während Oculus einen Faktor angibt, mit dem jedes Pixel horizontal und vertikal multipliziert wird. Ein Beispiel:

Supersampling bei Steam und Oculus im Vergleich
Originale Auflösung Angabe Oculus Angabe Steam berechnete Auflösung
1.920 x 1.080 (Full HD) 2.0 400 % 3.840 x 2.160 (4K)
100 x 100 1.5 225 % 150 x 150
100 x 100 0.5 25 % 50 x 50

Zur Berechnung der Durchschnittswerte wird nun der letzte Wert genommen, bei dem die Framerate noch (fast) der nativen des jeweiligen Headsets entspricht. Zur Berechnung des Durchschnitts werden dann noch mal die Supersampling-Faktoren von Oculus in die Prozentzahl von SteamVR umgerechnet und umgekehrt. Beide Darstellungsweisen sind im Diagramm vorhanden.