Virtual Reality: AMDs Liquid VR nutzt eine Grafikkarte pro Auge
Virtuelle Welten statt ganz reale Mikroruckler: AMDs Liquid-VR-SDK lässt eine Grafikkarte pro Auge rechnen, setzt auf mehrere Tricks für extrem geringe Latenzen zugunsten weniger Übelkeit und arbeitet mit dem Vive sowie dem Oculus Rift zusammen.
AMD hat ein eigenes Software Development Kit für Virtual Reality vorgestellt. Liquid VR arbeitet nur mit Radeon-Grafikkarten zusammen, nutzt aber einige Hardwarebesonderheiten der aktuellen GCN-Architektur, um durch Tricks die Latenz zwischen Berechnung und Bildausgabe möglichst gering zu halten. Vorab sei gesagt, dass Nvidias VR Direct ähnliche Techniken beherrscht.
Für Virtual Reality sind zwei Punkte wichtig: eine hohe Bildrate und die möglichst konstant. Bei Valves Vive etwa muss die Grafikkarte pro Auge 1.680 x 1.512 Pixel berechnen (da Display zeigt 2.160 x 1.200 Bildpunkte), im Idealfall 90-mal die Sekunde. Liquid VR weist daher bei zwei Grafikkarten jeder die Berechnungen der 2,5-Megapixel-Daten für ein Auge zu. Dadurch verdoppelt sich die Geschwindigkeit der Frame-Ausgabe allerdings nicht, obwohl der Prozessor einige redundante Operationen weniger ausführen muss.
Per Latest Data Latch greift Liquid VR die Head-Tracking-Daten erst ab, wenn ein Bild bereits fertig gerendert ist. Hierzu wartet der Prozessor nicht, bis die Grafikkarte die Informationen anfordert, sondern hält stets die aktuellen Daten vorrätig. Diese werden statt der alten Werte mit dem gerade berechneten Frame verknüpft. Das klappt aber nur, wenn sich die Kopfposition zwischenzeitlich nicht geändert hat.
Ist dies der Fall, kommen die Asynchronous Compute Engines der Grafikkarte zum Einsatz: Parallel zum Rendering des nächsten Frames geben die ACEs einen Asynchronous Time Warp in Auftrag. Ein früheres Bild wird perspektivisch auf Basis des Tiefenbuffers interpoliert, das der Nutzer als Zwischenschritt für den nächsten echten Frame vorgesetzt bekommt.
Fertige Bilder schickt Liquid VR zudem per Direct Front Buffer Rendering direkt an den Bildschirm und umgeht dabei das Betriebssystem. Das klappt AMD zufolge mit den Head-mounted Displays von allen großen Herstellern, beispielsweise dem Oculus Rift oder dem Vive.
All diese Techniken verringern die Latenz zwischen dem Start des Rendering-Prozesses und der finalen Ausgabe der Frames inklusive Head-Tracking-Daten. Für den Nutzer wird die Darstellung der virtuellen Realität so deutlich flüssiger, was in weniger Übelkeit und einer höheren Präsenz resultiert.
Derzeit unterstützt das SDK nur DirectX-11, es dürfte aber in den kommenden Monaten auch mit DirectX-12 und Vulkan zusammenarbeiten.
Bei den bisherigen Lösung rechnet eine Grafikkarte die rechte und eine die Linke...