Wie schon öfter berichtet, arbeiten sowohl Nvidia als AMD an Lösungen um ihre Grafikkarten für VR zu optimieren. Nvidia hat nun erstmals Details zu ihrer neuen Generation, bezüglich der neuen Virtual Reality Features veröffentlicht. Hier findet ihr die neusten News dazu verständlich erklärt.

Maxwell ist die neue GPU die derzeit nur die beiden neuen Karten der GTX-Reihe, die GeForce GTX980 und GTX970, antreibt.  Der Maxwell genannte Kern ist u. a. gezielt dafür designed komplexe Lichtberechnungen und andere komplexe Herausforderungen effizient zu erledigen. Eine dieser komplexen Herausforderungen ist auch Virtual Reality. Hier werden Framerates benötigt die deutlich höher sind, als das, was wir von gewöhnlichen Monitoren gewohnt sind und auch die Ansprüche an die Auflösung wachsen ins Unendliche. Und dabei darf man die Latenz, also die Rechenzeit der Karte, nicht vergessen. Aus diesem Grunde hat Nvidia die neuen Maxwell-Kerne gezielt für VR optimiert.

Laut eigenen Aussagen seitens Nvidia benötigt eine derzeit aktuelle Grafikkarte 50Ms um eine Szene in VR zu rendern. Der neue Maxwell Kern soll diese Zeit halbieren!

top

Hier sind einige Aspekte, welche Nvidia aufführt, wie sie dies Erreichen. Für euch habe ich die meisten Punkte noch mal verständlich erklärt um zu verdeutlichen was hinter den Werbebegriffen steckt, unter denen man sich meist nichts vorstellen kann:

Grund-Latenz

Es wurden alle Schnittstellen und Verbindungen der GPU optimiert, sodass die Latenz darauf basierend schon deutlich geringer wurde.

MFAA

Multi-Frame sampled Anti-Aliasing, ein neuer Algorithmus bei dem mehrere AA Test Positionen genommen werden, um ein AA-Ergebnis zu erzeugen, welches nicht nur hochwertiger ist, sondern auch weniger Rechenleistung benötigt als bestehende Anti Aliasing Algorithmen wie MSAA oder FXAA.

1xaaMan muss sich das so vorstellen: Bevor die Bilder von der GPU gerastert werden, haben die Grafiken keine Einteilung in Pixel, man könnte es eher mit einer mathematischen Funktion beschrieben, welche ja auch viel genauer ist, als das Pixelraster auf den Collegeblöcken, wenn man sie auf Papier zeichnet. Das Raster des Collegeblocks ist quasi unsere Pixelgitter auf dem Monitor. Je nach Auflösung ist das Raster feiner oder grober. Wollen wir nun die Kästchen ausmalen die unsere Funktion durchläuft (Also unsere Funktion rastern) können wir dies auf mehrere Weisen machen. Die einfachste Variante wäre, jedes Kästchen welches von der Linie durchquert wird, wird ausgemalt, alle anderen nicht. Dies entspräche einer Rasterung ohne Antialiasing.

2xaaUm die Linie ein wenig exakter Zeichnen zu können, ändern wir nun unsere Kriterien, die bestimmen, wann ein Pixel ausgemalt wird oder nicht: So können wir zum Beispiel jedes Kästchen unseres Blocks in zwei Teile spalten. Schneidet die Linie beide Teile, wird das Kästchen schwarz ausgemalt. Schneidet das Kästchen nur einen der beiden Teile, malen wir es grau aus. Dies entspricht 2x Antialiasing. Um ein noch besseres Ergebnis zu erhalten, können wir nun jedes Kästchen immer weiter unterteilen und erhalten ein immer genaueres Ergebnis der Linie. (4x, 8x 16x Antialiasing). Jedoch erhöht sich auch jedes mal der Aufwand für jeden Pixel, um zu entscheiden, um zu entscheiden, welche Farbe er bekommt. Zusätzlich werden die Linien ja nicht einmal gezeichnet, sondern im Falle unseres Developer Kit 2 75 mal pro Sekunde. Der Rechenaufwand ist also enorm!

MFAA ermöglicht ein Ergebnis welches dem 2x Antialiasing entspricht mit der Performanz von deaktiviertem Antialiasing. Die Idee ist relativ simpel: Jedes Kästchen wird in 2 Teile geteilt, jedoch wird immer nur ein Teil geprüft. Beim ersten Frame wird das Kästchen also ausgemalt, wenn die Linie den 1. Bereich schneidet. Im darauf folgenden Frame, der dem davorliegenden für gewöhnlich stark ähnelt, wird geprüft ob die Kästchen in der anderen Hälfte geschnitten werden. Für gewöhnlich ändern sich nur einige wenige Kästchen, welche nicht vollständig geschnitten werden. Mit Hilfe eines Algorithmus wird nun das Bild für den 2. Frame berechnet, in dem ein Mittelwert aus dem 1. und 2. Ergebnis berechnet wird. Auf diese Art und Weise erhält man ungefähr das Ergebnis von 2x Antialiasing, mit ungefähr dem Rechenaufwand von deaktiviertem Antialiasing.

Diese Diashow benötigt JavaScript.

MFAA ist eine Maxwell exklusive Technologie und wird in diesem Video noch mal genauer erklärt:

Asynchronous Warp

Hierbei wird der letzte Frame den die GPU vollständig berechnet hat genommen und dieser basierend auf den Headtracking-Informationen asynchron geupdatet ohne, dass der Frame vollständig neu berechnet werden muss. Dadurch dass dieser Vorgang asynchron abläuft, wird die GPU nicht vollständig blockiert und kann weiter an dem nächsten Frame rechnen. Hat man einen 75Hz Monitor,  erhält jedoch nur mit 60Hz neue Frames (Hz ist 1/Sekunde, also 75 bzw. 60 Frames pro Sekunde) von der Grafikkarte, kann diese Technik durch die Berechnung der Zwischenbilder dafür Sorgen, dass die Bildwiederhohlrate des Monitors voll ausgenutzt wird. Dies erlaubt eine noch flüssigere Darstellung des Headtrackings. Jeder mit einem DK2 weiß, weicht die Framerate zu stark von den (aktuellen) 75Hz ab, ruckelt das Bild sehr unangenehm, wenn man den Kopf bewegt. Die Timewarp Implementierung des Oculus SDK funktioniert ähnlich, jedoch sind die Maxwell GPUs darauf optimiert dies ohne Nachteile bei der Berechnung des nächsten Frames auszuführen.

SLI

Bisher erzeugte das Verwenden von 2 Grafikkarten im SLI Modus ein Ruckeln, wenn man dies zusammen mit einem VR Headset verwendet hat. Nvidia hat ihre SLI Implementierung nun dahingehend geändert, dass dies nicht mal der Fall ist. Bisher war es immer der Fall, dass die beiden Grafikkarten sich bei jedem Frame abwechseln und so jede Karte nur noch halb so viele Bilder pro Sekunde rechnen muss. Maxwell wird dies erstmals anders lösen, denn ab dieser Generation wird jedem Display bzw. jedem Display Teil, also jedem Auge, eine GPU zugewiesen für den sie alleine zuständig ist. Dies reduziert ebenfalls die Rechenlast und verhindert das SLI typische Ruckeln mit einem VR Headset.

DSR

Dynamic Super Resolution, ist eine Technologie bei der das Spiel mit einer höheren Auflösung berechnet wird, als der Monitor anzeigen kann. Für gewöhnlich verwendet die GPU die die Auflösung des Monitors als interne Auflösung und sendet das Bild direkt raus. Für eine höhere Framerate kann man die Auflösung in Spielen jedoch reduzieren, sodass die GPU weniger Pixel berechnen muss. Anschließend wird das Bild dann für den Monitor hoch skaliert, sodass immer noch der gesamte Monitor gefüllt ist. Natürlich bietet dies eine schlechtere Bildqualität als das Bild in der nativen Auflösung des Monitors. DSR beschreibt ein ähnliches Verfahren nur genau andersherum: Das Bild wird intern mit einer Auflösung von bis zu 4k berechnet und anschließend für den Monitor wieder kleiner skaliert. Die dabei verwendet Algorithmen, bewirken dass das Bild anschließend deutlich schärfer aussieht.

Es ist das gleiche Verfahren, wie es auch die meisten DK1 Besitzer anwenden, wenn sie die Auflösung der Anwendung auf 1920*1080 setzen, obwohl die die Display Auflösung beim DK1 nur 1280*800 ist. Hier wurde das Bild allerdings von der Controlbox herunter skaliert. DSR erlaubt dies nativ über die GPU  und somit performanter und mit besserer Qualität berechnen zu lassen.

Geforce Experience

Der User muss die Einstellungen nicht von Hand bestimmen, dies übernimmt die Gerforce Experience Software voll automatisch für ihn.

Optimized Content

Nvidia  hat hiermit angekündigt, dass sie mit dieser Technologie, VR Support für alle Anwendungen erlauben wollen, die bereits NVIDIA 3D Vision unterstützen.

 

Abschluss

side

Die größere der beiden Karten, die GTX980, hat eine UVP von 540€ die kleinere GTX970 eine Empfehlung von 320€ und werden die GTX780 Ti, GTX780 und GTX770 ersetzen, welche künftig nicht mehr produziert werden.

Verschiedene Magazine haben bereits Tests zu den Karten veröffentlicht, welche allesamt positiv ausfallen. u.A.: Computer Base, Gamestar, Chip.

Ich denke in meinem Hinterkopf habe ich mich bereits entschieden und meine nächste Grafikkarte steht fest, die GTX980 wird schon bald mein Gehäuse zum schmelzen bringen. Jedoch werde ich wahrscheinlich noch wenigstens bis Weihnachten warten, da zu dieser Zeit die die üblichen Sonderangebote den Preis ggf. (wenn auch nur minimal) senken werden.

Tagged: , , , ,

Geschrieben von Daniel Korgel

Ich bin Daniel Korgel und bin ein selbständiger Software Entwickler im Bereich Virtual Reality. Ich programmiere in meiner Freizeit schon sehr lange und bin gut unterwegs mit C# (& .Net), Java, HTML, PHP und MYSQL. Kenntnisse in C, C++ und Assembler sind aber auch vorhanden. Zudem arbeite ich derzeit auch an meinem Bachelor. In meiner Freizeit sammle ich alte Spielekonsolen und bin auch hin und wieder im Skatepark anzutreffen. Twitter: @DakorVR , @Bloculus_de| Xing: xing.com/profiles/Daniel_Korgel

This article has 18 comments