> > > > VALVE über die Herausforderungen beim VR-Rendering

VALVE über die Herausforderungen beim VR-Rendering

Veröffentlicht am: von

valveDie Darstellung von 3D-Inhalten in Virtual-Reality-Headsets stellt einige Herausforderungen an die Hardware. 1.280 x 1.440 Pixel pro Auge bei einer Bildwiederholungsrate von 90 Hz beschreiben diese aber nur sehr oberflächlich. Die Ausgabe eines Frames alle 11,1 ms ist selbst für moderne GPUs eine nicht immer ganz so leichte Aufgabe, vor allem weil zahlreiche API-Level überwunden werden müssen.

VALVE hielt in Form von Alex Vlachos auf der Game Developer Conference 2016 einen Vortrag dazu. In diesem ging er noch einmal genauer auf bereits gemachten Fortschritte und Technologien ein, stellte aber auch einige neue Ansätze vor. Begonnen hat er seinen Vortrag aber mit dem, was eigentlich auf der Hand liegt. So besteht ein fertiger Frame in einem VR-Headset nicht aus einem gefüllten Bild bei 2.560 x 1.440 Pixel, sondern durch die Optik und Art und Weise wie unser Auge Informationen aufnimmt, werden zwei ineinander verlaufende und verzerrte kreisrunde Bilder erstellt. Die Bereiche außerhalb dieser beiden Kreise müssen nicht gerendert werden, was schon einmal einige Ressourcen freimacht.

Vortrag von VALVE auf der GDC 2016
Vortrag von VALVE auf der GDC 2016

Auch wenn die VR-APIs wie LiquidVR von AMD und GameWorks VR von NVIDIA grundsätzlich den Einsatz von zwei oder mehr GPUs ermöglichen, dies aktuell aber noch nicht in den Spielen umgesetzt wird, so dürfte ein großer Anteil der für VR eingesetzten Systeme nur auf eine GPU setzen. Laut VALVE ist dies auch mehr als ausreichend. Selbst bei einem sequentiellen Rendering von zwei Bildern für jedes Auge kann über verschiedene Techniken eine Einsparung an Leistung erfolgen. So werden beispielsweise die Shadowmaps für beide Berechnungen verwendet und müssen nicht zweimal erstellt werden.

Vortrag von VALVE auf der GDC 2016Vortrag von VALVE auf der GDC 2016Vortrag von VALVE auf der GDC 2016

Vortrag von VALVE auf der GDC 2016

An Multi-GPU-Systeme werden hingegen besonderes Anforderungen erstellt, die mit LiquidVR und GameWorks VR zwar bereits adressiert werden, aber noch nicht vollständig umgesetzt werden können. So werden teilweise Informationen zwischen den GPUs ausgetauscht, damit diese nicht doppelt berechnet und angelegt werden müssen. Dem Austausch an Daten sind aber Grenzen gesetzt, zudem erzeugen Multi-GPU-Systeme durch den Datenaustausch und Abgleich auch einen gewissen Overhead, der bei Single-GPU-Systemen nicht vorhanden ist.

Anders als beim Alternate Frame Rendering lassen sich so aktuell keine Leistungssteigerungen von über 50 Prozent erreichen. VALVE spricht von einem Leistungsplus im Bereich von 30 bis 35 Prozent. Natürlich aber sorgen Multi-GPU-Systeme mit beispielsweise zwei GPUs dafür, dass die Mindestvoraussetzungen von 11,1 ms bzw. 90 Hz eingehalten werden können.

Vortrag von VALVE auf der GDC 2016Vortrag von VALVE auf der GDC 2016Vortrag von VALVE auf der GDC 2016

Vortrag von VALVE auf der GDC 2016

Ein zusätzliches Leistungsplus versprechen natürlich Systeme mit vier GPUs. Hier allerdings wird der Verwaltungsaufwand auf Ebene der APIs und beteiligten Schnittstellen immer größer und der Vorteil durch die theoretisch höhere Rohleistung schmilzt immer weiter zusammen. Besonders im Fokus steht dabei die Übertragung der Render Targets über die GPUs hinweg und hier gibt es theoretisch verschiedene Ansätze, wie dieser erfolgen kann.

Um die höhere Rechenleistung der GPUs in einem Multi-GPU-System sinnvoll nutzen zu können, wäre eine Erhöhung der Auflösung denkbar. Ohnehin rendert VALVE die Demo Aperture Robot Repair bereits in 1.512 x 1.680 Pixel pro Auge und wendet auch ein 4x MSAA darauf an. Ausgegeben wird das Bild dann in 1.080 x 1.200 Bildpunkten auf der HTC Vive. Mit zwei oder vier GPUs wäre es möglich, in 2.116 x 2.352 bei 8x MSAA zu rendern und man verbliebe noch immer innerhalb der Vorgabe von 11,1 ms pro Frame.

Um weitere Ressourcen einzusparen, setzte VALVE auch eine Technik ein, die sich Over Rendering nennt. Dabei werden die Bereiche hin zum Zentrum der Darstellung immer genauer berechnet, während im Außenbereich ein weniger starkes Downsampling eingesetzt wird. VALVE definiert dazu bestimmte Bereiche der Darstellung, denen unterschiedliche Detailsstufen zugewiesen werden können.

Bei NVIDIA hat man eine eben solche Technik bereits entwickelt und nennt diese Multi Resolution Shading. NVIDIA macht sich dabei einige Umstände zu nutzen, die durch VALVE bereits beschrieben wurden: Damit der Nutzer einer VR-Brille überhaupt in der Lage ist auf einer Brille und den darin verbauten Displays etwas zu sehen, wird eine Optik verwendet, die das Bild entsprechend dem Betrachtungsabstand und gewünschtem Blickwinkel anpasst. Die Ausgabe auf dem Display erfolgt daher in einer Fisheye-ähnlichen Verzerrung und zudem wird das Bild an den Rändern noch gestaucht, damit nach der Optik ein für den Nutzer normales und unverzerrtes Bild entsteht. Da GPUs und die Rendering-Prozesse aber nicht darauf ausgelegt sind, ein solches Bild auszugeben, gehen die Hersteller hin und rendern das Bild auf gewöhnliche Art und Weise, um es in einem Post Processing entsprechend anzupassen. Diese nachträgliche Bearbeitung kostet zum einen Leistung, viel entscheidender aber ist, dass eine weitere Verzögerung bis zur Ausgabe des Bildes entsteht und gerade diese ist für ein möglichst optimales VR-Erlebnis störend.

NVIDIA GameWorks VR mit Multi Resolution ShadingNVIDIA GameWorks VR mit Multi Resolution Shading

NVIDIA GameWorks VR mit Multi Resolution Shading

NVIDIA wendet nun einen Trick an, um die nicht oder nur eingeschränkt sichtbaren Bereiche anders zu behandeln. Dazu wird das Bild in neun Bereiche aufgeteilt. Diese sogenannten Viewports orientieren sich in etwa an den sonst im Post Processing bearbeiteten Abschnitten. So wird der mit Abstand größte Viewport in der Mitte fast vollständig so belassen, wie er ursprünglich auch behandelt wurde. Die Seitenbereiche und vor allem die vier Ecken aber werden mit einer Art Komprimierung belegt und in ihrer Auflösung entsprechend dem gewünschten Endergebnis angepasst.

Alle neun Viewports werden gleichzeitig durch die GPU berechnet – allerdings getrennt voneinander. Die Ausgabe erfolgt schlussendlich in einer bereits fertig angepassten Form. Ein Post Processing ist damit nicht mehr notwendig. Durch die Aussparung von nicht sichtbaren Bereichen sowie der Anpassung der Auflösung der Ränder und einer zusätzlichen Komprimierung kommt NVIDIA auf eine erhöhte Pixel-Shader-Performance um den Faktor 1,3 bis 2. Die Verarbeitung unterschiedlicher Viewports in einem Rendering-Prozess ist laut NVIDIA nur auf GPUs mit "Maxwell"-Architektur möglich.

Vortrag von VALVE auf der GDC 2016Vortrag von VALVE auf der GDC 2016

Vortrag von VALVE auf der GDC 2016

Laut VALVE ist durch ein Multi Resolution Shading oder Fixed Foveated Rendering ein Leistungsplus von 5 bis 10 Prozent zu erreichen, ohne dass der Betrachter einen Unterschied in der Bildqualität erkennen kann.

Dennoch kann es dazu kommen, dass eine Grafikkarten die Vorgabe von 90 Bildern pro Sekunde nicht einhalten kann und dann stellt sich die Frage, wie damit umgegangen wird, ohne dass das Spielerlebnis zu sehr leidet. VALVE wählt einen Ansatz, der ebenfalls schon von NVIDIA beschrieben wurde. Bei den Asynchronous Time Warp wird kein neuer Frame berechnet, sondern der vorherige Frame wird verwendet und mit den Daten zur Änderungen der Blickrichtung kombiniert. Das Positional Reprojecting ist derzeit aber nur eine Notlösung, da die Methodik zur Wiederverwendung und Vorhersage des nächsten Frames bzw. der gewählten Blickrichtung aktuell noch nicht ausgereift ist.

Vortrag von VALVE auf der GDC 2016Vortrag von VALVE auf der GDC 2016

Vortrag von VALVE auf der GDC 2016

im letzten Teil seines Vortrages geht Alex Vlachos auch noch einmal auf die Hardwarevoraussetzungen ein. So sind 11,1 ms zwar die theoretische Vorgabe, um immer auf der sicheren Seiten zu sein sollten Entwickler aber mit 10 ms bzw. 100 fps planen. Allerdings will VALVE durch die erwähnten Techniken auch die Mindestvoraussetzungen für VR-Titel reduziert haben und so laufe Aperture Robot Repair auch auf einer GeForce GTX 680, dann aber mit reduzierter Auflösung. Für die beste Darstellung sei einer GeForce GTX 980 Ti notwendig und so sei die Spanne selbst bei solchen Titeln bereits recht groß.

Schlussendlich wird man noch abwarten müssen, wie sich das Zusammenspiel von GPU und VR-Headset sowie den dazugehörigen Systemanforderungen darstellen wird. Entwickler sollten aber sehr vorsichtig mit den zur Verfügung stehenden Ressourcen umgehen.

Social Links

Kommentare (1)

#1
customavatars/avatar89889_1.gif
Registriert seit: 19.04.2008
PorscheTown
Flottillenadmiral
Beiträge: 6073
Was für ein Feedback? Seit 14:30Uhr ist der Thread online.

Hört sich gut an, sieht bestimmt auch gut aus wenn die Window(s) Optik weg ist und man wirklich mitten drin statt nur dabei ist!
:bigok:

[video=youtube;vtCS4nb04SQ]http://www.youtube.com/watch?v=vtCS4nb04SQ[/video]
Um Kommentare schreiben zu können, musst Du eingeloggt sein!

Das könnte Sie auch interessieren:

Von ASUS bis ZOTAC: Vier Modelle der GeForce GTX 1050 Ti im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/2016/NVIDIA-GTX1050TI-ROUNDUP/NVIDIA_GTX1050TI_4ER_ROUND_UP-TEASER

Seit Ende Oktober gibt es die aktuelle Pascal-Generation von NVIDIA auch für unter 200 Euro. Tatsächlich bekommt man hier nicht nur viel Leistung fürs Geld, sondern obendrein einen sehr effizienten 3D-Beschleuniger, wie unser Launch-Test zur NVIDIA GeForce GTX 1050 Ti pünktlich zum Marktstart... [mehr]

AMD Radeon RX Vega 56 und Vega 64 im Undervolting-Test

Logo von IMAGES/STORIES/2017/AMD_RADEON_RX_VEGA_64_56_TEST

Unser Test der Radeon RX Vega 64 und Vega 56 hat gezeigt: AMD liefert eine Leistung auf dem Niveau der GeForce GTX 1080 und GeForce GTX 1070, erkauft wird dies aber mit einer deutlich zu hohen Leistungsaufnahme. Derzeit hat AMD bei den Vega-Karten noch viele Baustellen, die vor allem den Treiber... [mehr]

Zwei Modelle der NVIDIA GeForce GTX 1050 Ti im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/2016/EVGA-GTX-1050TI-SC/EVGA_ZOTAC_GTX1050TI_AUFMACHER

Am vergangenen Dienstag rundete NVIDIA sein Pascal-Aufgebot nach unten hin ab und kündigte mit der GeForce GTX 1050 Ti und GeForce GTX 1050 die bislang kleinsten Ableger unter den Pascal-Grafikkarten an. Ab heute werden die neuen Einsteiger-Karten zu Preisen ab 125 bzw. 155 Euro im Handel... [mehr]

MSI GeForce GTX 1060 Gaming X im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/2016/MSI-GTX-1060-GAMING-X/MSI_GEFROCE_GTX_1060_GAMING_X-TEASER

Ob von ASUS, EVGA, Inno3D oder Gigabyte – von nahezu allen großen Grafikkarten-Herstellern konnten wir bereits ein oder mehrere Modelle auf Basis der GeForce GTX 1060 testen. Gefehlt in unserer Liste hat allerdings noch MSI. Das holen wir nun mit einem Test zur MSI GeForce GTX 1060 Gaming X... [mehr]

AMD Radeon RX Vega 64 und RX Vega 56 im Test

Logo von IMAGES/STORIES/2017/AMD_RADEON_RX_VEGA_64_56_TEST

Nun endlich ist es soweit: Was vor gut einem Jahr mit einer ersten Ankündigung begann und ab Ende 2016 konkret wurde, findet nun sein finales Ende in den ersten Tests der Radeon RX Vega 64 und RX Vega 56. AMD ist als einziger Konkurrent zu NVIDIA geradezu zum Erfolg verdonnert. Die Ansprüche an... [mehr]

Ab Werk die schnellste: ZOTAC GeForce GTX 1080 Ti AMP! Extreme Edition im Test

Logo von IMAGES/STORIES/LOGOS-2017/ZOTAC-GTX1080TI-EXTREME-LOGO

Einige Modelle der GeForce GTX 1080 Ti konnten wir uns ja bereits anschauen und damit lässt sich auch ein erster Eindruck zusammenfassen: Die GeForce GTX 1080 Ti ist in der Founders Edition eine gute Karte, die Custom-Modelle beschleunigen sie noch etwas und bieten zudem eine bessere und leisere... [mehr]