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

VALVE über die Herausforderungen beim VR-Rendering

DruckenE-Mail
Erstellt 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: 5143
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:

Roundup: 5x GeForce GTX 1070 mit Custom-Design im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/2016/5X-GTX1070/GTX1070_CUSTOM_ROUNDUP-TEASER

Nachdem wir bereits eine Reihe von Boardpartner-Karten der NVIDIA GeForce GTX 1080 ausführlich getestet haben, holen wir gleiches nun für das kleinere Schwestermodell nach, denn auch von der NVIDIA GeForce GTX 1070 gibt es viele Custom-Modelle mit höheren Taktraten, eigenen Kühlsystemen und... [mehr]

Drei Custom-Modelle der GeForce GTX 1060 im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/2016/3X-GTX1060/GTX1060_ROUNDUP_TEST-TEASER

Anders als bei der GeForce GTX 1080 und GeForce GTX 1070 trudelten wenige Stunden nach unserem Test zur Founders Edition der NVIDIA GeForce GTX 1060 schon die ersten Boardpartner-Karten mit teils höheren Taktraten, eigenem Kühlsystem und überarbeitetem Platinenlayout ein. Sie dürften... [mehr]

NVIDIA GeForce GTX 1080 mit Pascal-Architektur im XXL-Test

Logo von IMAGES/STORIES/LOGOS-2016/GEFORCE-GTX-1080

Heute ist es soweit: NVIDIA läutet mit der GeForce GTX 1080 und GTX 1070 auf Basis der Pascal-Architektur den diesjährigen Neustart bei den Grafikkarten ein. In Kürze wird wohl auch AMD seinen Beitrag zu diesem Thema leisten. Vor zehn Tagen lud NVIDIA die gesammelte Fachpresse nach Austin ein... [mehr]

Roundup: 5x GeForce GTX 1080 im Custom-Design im Test

Logo von IMAGES/STORIES/LOGOS-2016/GEFORCE-GTX-1080

Nachdem wir uns die Founders Edition der GeForce GTX 1080 und GeForce GTX 1070 bereits angeschaut haben, folgen nun fünf Retail-Modelle, die wir in aller Ausführlichkeit unter die Lupe nehmen wollen. Aus den vielen Boardpartnern und unterschiedlichen Modellen haben wir uns solche von ASUS, EVGA,... [mehr]

AMD Radeon RX 480 im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/2016/RADEON-RX480/RADEON-RX480-REFERENCE-LOGO

Es ist also soweit: AMD startet die großangelegte Zurückeroberung des Grafikkartenmarktes mit der Radeon RX 480, die als erste Grafikkarte der Polaris-Generation mit gleichnamiger Architektur erscheint und die wir uns genauer anschauen können. Dabei versucht sich AMD an einem anderen Ansatz im... [mehr]

PowerColor Radeon RX 480 Red Devil im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/2016/POWERCOLOR-RX480/POWERCOLOR-RX480REDDEVIL-LOGO

Mit der Radeon RX 480 will AMD zurück zu alter Stärke und hat daher über Monate hinweg die PR-Trommel geschlagen. Letztendlich dabei herausgekommen ist eine sehr gute Karte für einen niedrigen Preis, die aber nicht in allen Bereichen zu überzeugen weiß. Wohl größtes Manko der Karte sollte... [mehr]