Direct3D: DirectX 11.2 soll Spiele schneller machen
Mit Windows 8.1 führt Microsoft auch eine neue Version seiner Grafikschnittstelle DirectX ein. Dabei stand vor allem eines im Vordergrund: Direct3D 11.2 soll vorhandene und neue Spiele schneller machen und für geringe Latenzen sorgen.

DirectX 11.2 enthält wesentliche Neuerungen, bei allen geht es letztendlich aber um dasselbe: mehr Performance und größere Effizienz. So will Microsoft sowohl vorhandene als auch neue Spiele schneller machen, denn es hält Performance bei einer 3D-Schnittstelle für die wichtigste Eigenschaft. Einige der Neuerungen funktionieren dabei mit vorhandener Hardware, manche setzen neue Treiber und zum Teil auch entsprechende Hardwareunterstützung voraus.
Zunächst einmal hat Microsoft DirectX im Kern überarbeitet, um viele alltägliche Funktionen zu beschleunigen. So soll unter anderem das Laden von Ressourcen unter DirectX 11.2 deutlich schneller sein und deutlich weniger Zeit im Presenter API verbracht werden. Auch die Frame-Latenz will Microsoft ganz allgemein um bis zu einen Frame verringert haben.
Mit dem neuen Trim-API können DirectX-Applikationen für den Speicher freigegeben werden, der für den Grafiktreiber reserviert ist, sollte die App gerade nicht benutzt werden. So kann Windows 8.1 mehr Apps gleichzeitig im Speicher halten und Apps, die aus dem Hintergrund nach vorn geholt werden, sind schneller wieder nutzbar.
Hardware Overlays
Eine der großen Neuerungen in DirectX 11.2 ist die Unterstützung für Hardware Overlays. Das ermöglicht es, zwei unabhängig voneinander gerenderte Ebenen übereinanderzulegen, beispielsweise, um 3D-Grafik und Einblender voneinander getrennt zu berechnen. So erscheinen Einblendungen scharf, da sie in hoher Auflösung gerendert wurden, auch wenn die 3D-Auflösung verringert wird, um hohe Frame-Raten von 60 Bildern pro Sekunde sicherzustellen.
Sofern es von der Hardware unterstützt wird, können beide Ebenen ohne zusätzlichen Rechenaufwand mit vollem Alphablending zusammengefügt werden.
Das lässt sich nicht nur mit statisch festgelegten Auflösungen nutzen, sondern Spiele können die Auflösung beider Ebenen, die als unabhängige Swap-Chains umgesetzt sind, dynamisch verändern. So kann ein Spiel die Auflösung in besonders rechenintensiven Szenen reduzieren, um eine flüssige Darstellung sicherzustellen. Zudem ist es möglich, das in vielen Spielen genutzte HUD mit einer sehr geringen Frame-Rate in hoher Auflösung zu rendern, schließlich ändert sich dieses oft nur einmal pro Sekunde.
Wird die Auflösung dabei nur leicht gesenkt, soll dies für Spieler kaum wahrnehmbar sein, das Spiel fühlt sich aber schneller an, so Microsoft.
HLSL Shader Linking
Shader können unter DirectX 11.2 mit geringem Aufwand ausgetauscht werden. Dazu führt Microsoft HLSL Shader Linking ein. Damit wird es möglich, Shader vorab zu kompilieren und später schnell zu wechseln, je nachdem, welche Routinen gerade benötigt werden. Der Wechsel auf einen zuvor kompilierten Shader soll rund achtmal schneller sein als die Übersetzung zur Laufzeit.
Direct3D Low-Latency Presentation API
Das Low-Latency Presentation API ermöglicht es, die Latenz, also die Verzögerung zwischen dem Rendern und der Darstellung auf dem Display, zu senken. Während normalerweise 40 Millisekunden zwischen der Berechnung und Darstellung vergehen, sind es in diesem Modus nur noch etwa 16 Millisekunden.
Gedacht ist das vor allem für Spiele, die per Touch gesteuert werden, da diese so direkt auf Eingaben reagieren. Werden Objekte verschoben, kleben diese dadurch regelrecht am Finger oder an der Maus, während im normalen Modus Objekte bei schneller Bewegung wie an einem Gummiband hinterhergezogen werden.
Tiled Ressources
Bereits in der Keynote-Ansprache auf der Build zeigte Microsoft Tiled Ressources. Diese neue Direct3D-Funktion sorgt dafür, dass immer nur die wirklich benötigten Ressourcen in den Grafikspeicher geladen werden. Statt also die Texturen für einen ganzen Berg zu laden, müssen nur die notwendigen Ressourcen zur Darstellung der Bergspitze vorgehalten werden, wenn nur diese im Bild ist. Die dafür genutzten Ressourcen können dafür deutlich mehr Details enthalten, ohne dass insgesamt mehr Speicher belegt wird.
Je näher der Spieler einem Objekt kommt, desto größer wird der Detailgrad der verwendeten Ressourcen, die dazu in Blöcken von je 64 KByte organisiert werden. Das funktioniert auch mit aktueller Hardware, kann also mit vielen GPUs genutzt werden, die heute schon verbreitet sind. Sollte das jeweilige System aber dennoch keine Tiled Ressource unterstützen, kann das Spiel dies erkennen und sich verhalten wie bisher.
Einige Details zu den neuen APIs in DirectX 11.2 finden sich unter msdn.microsoft.com.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Welche diese Spiele? OpenGL gibts auch auf Android...
ja die frage ist dann halt aber wozu sollte man noch neue hardware kaufen? konkret...
Finde ich interessant. Kennst du dafür Beispiele von "non-konformen" Shadern?
Das macht man bei DirectX auch. Alles andere wäre auch dämlich, da man die Shader während...