Start Entwicklung Microsoft kündigt das DirectX 12 Agility SDK an

Microsoft kündigt das DirectX 12 Agility SDK an

0
Microsoft kündigt das DirectX 12 Agility SDK an
Microsoft kuendigt das DirectX 12 Agility SDK an - Bild: DirectX Developer Blog

Das DirectX-Team hat am 20. April 2021 das DirectX 12 Agility SDK vorgestellt. Das Paket entkoppelt die Verfügbarkeit von Direct3D-12-Funktionen vom Release des Windows-Betriebssystems. Entwickler können damit aktuelle DX12-Features in ihre Spiele integrieren, ohne dass Spieler ihr System zuvor per Betriebssystem-Update aktualisieren müssen. Damit adressiert Microsoft die bislang langsame Verteilung neuer Grafikfunktionen über den Windows-Update-Kanal.

Bisher waren neue Direct3D-12-Funktionen fest an Windows-10-Aktualisierungen gebunden. Studios standen vor der Wahl, entweder Nutzer älterer Windows-10-Versionen auszuschließen oder die Übernahme neuer Funktionen zu verschieben, bis ein ausreichend großer Teil der Spielerbasis das passende Betriebssystem-Update installiert hatte. Das Agility SDK löst diese Bindung auf. Die erste Ausgabe unterstützt DirectX 12 Ultimate sowie Shader Model 6.6 und läuft ab dem Windows 10 November 2019 Update. Laut DirectX-Team deckt diese Mindestanforderung nahezu jede aktuelle Spieler-Maschine ab. Schon die ursprüngliche DirectX-12-Vorstellung hatte den Treiber-Overhead in den Mittelpunkt gerückt, jetzt geht es um den Verteilungsweg dahinter.

Aufgeteilte Laufzeit statt Betriebssystem-Abhängigkeit

Technisch wird die DirectX-12-Laufzeit in zwei Komponenten geteilt. Die im Betriebssystem enthaltene D3D12.dll fungiert als schlanker Loader, während der Hauptteil der Laufzeit in die mitgelieferte D3D12Core.dll ausgelagert wird. Entwickler binden die redistributierbare Variante über zwei exportierte Konstanten ein: D3D12SDKVersion benennt die genutzte SDK-Version der D3D12Core.dll, D3D12SDKPath verweist auf den Ablageort der Agility-SDK-Binaries relativ zur Programmdatei. Für die erste Ausgabe trägt D3D12SDKVersion den Wert 4. Liegt eine neuere D3D12Core.dll im Betriebssystem vor, wird diese gegenüber der mitgelieferten Kopie bevorzugt.

Verteilung über NuGet

Die Auslieferung erfolgt als NuGet-Paket unter dem Namen Microsoft.Direct3D.D3D12 über NuGet.org. Die Integration ist sowohl über die NuGet-Oberfläche in Visual Studio als auch über eine manuelle Extraktion der Paketdatei möglich. Die Minor-Versionsnummer des NuGet-Pakets entspricht dabei der SDK-Version, sodass etwa Version 1.4.10 auf D3D12SDKVersion 4 verweist. Mit diesem Modell entfällt der Betriebssystem-Rollout als Engpass für die Verbreitung neuer DirectX-Funktionen, da Studios die Laufzeit künftig anwendungslokal mit dem Spiel ausliefern können. Wie schnell Studios solche DX12-Wege aufgreifen, zeigte zuletzt der Umstieg, bei dem Epic Games DirectX 12 in Fortnite integrierte.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein