> > > > 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
Vizeadmiral
Beiträge: 6879
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:

NVIDIA Titan V: Volta-Architektur im Gaming-Test

Logo von IMAGES/STORIES/2017/NVIDIA-TITANV

In der letzten Woche hatte NVIDA noch eine Überraschung für uns parat: Die brandneue NVIDIA Titan V wurde vorgestellt. Damit gibt es das erste Consumer-Modell mit der neuen Volta-Architektur, das auch für Spieler interessant sein kann, in erster Linie aber auch professionelle Nutzer ansprechen... [mehr]

Sapphire Radeon RX Vega 64 Nitro+ im Test

Logo von IMAGES/STORIES/2017/SAPPHIRE-VEGA

Heute ist es endlich soweit: Wir können uns das zweite Custom-Design der Radeon RX Vega anschauen. Dabei handelt es sich um die Sapphire Radeon RX Vega 64 Nitro+, die besonders durch die Kühlung auf sich aufmerksam machen will. Drei Slots, drei Axiallüfter und sogar eine spezielle... [mehr]

Mega-Roundup: 14 aktuelle GeForce-Grafikkarten in 11 Blockbuster-Spielen...

Logo von IMAGES/STORIES/2017/GPU_BLOCKBUSER_VGL_ZOTAC-TEASER

In Kooperation mit Zotac Auch in diesem Jahr veranstalteten die Spielepublisher wieder ein regelrechtes Feuerwerk an neuen Videospielen. Vor allem in den letzten Wochen des Jahres wurden zahlreiche neue Triple-A-Titel veröffentlicht, wie beispielsweise ein neues "Call of Duty",... [mehr]

Die ersten Custom-Modelle der GeForce GTX 1070 Ti im Test

Logo von IMAGES/STORIES/LOGOS-2017/GTX1070TI-LOGO

Nach der Vorstellung aller Details dürfen wir heute die Leistungswerte der GeForce GTX 1070 Ti veröffentlichen. Dabei stand uns dieses Mal keine Founders Edition zur Verfügung, die nur von NVIDIA verkauft wird, dafür aber einige Custom-Modelle. Diese stammen aus dem Hause ASUS, Inno3D und... [mehr]

Die GeForce RTX 2080 Ti und RTX 2080 Founders Edition im Test

Logo von IMAGES/STORIES/2017/GEFORCERTX2080

Heute nun ist es endlich soweit und wir präsentieren die vollständigen Leistungsdaten und Messwerte zu den beiden ersten Karten der GeForce-RTX-20-Serie von NVIDIA. Nach der Vorstellung der Pascal-Architektur im Mai 2016 sind die neuen Karten für NVIDIA in vielerlei Hinsicht ein... [mehr]

AMD Radeon RX Vega 64 im mGPU-Test

Logo von IMAGES/STORIES/2017/AMD_RADEON_RX_VEGA_64_56_TEST

In den letzten Tagen war es so weit. Wir hatten endlich Hard- und Software zusammen, um die Radeon RX Vega 64 im mGPU testen zu können. Zum einen halten wir die ASUS ROG Strix Radeon Vega 64 OC Edition in Händen, zum anderen hat AMD den Radeon Software Crimson ReLive Edition 17.9.2... [mehr]