DirectX 11 - Schnittstelle für Grafikkarten in Windows 7 und Vista

66
Special Carsten Spille Als bevorzugte Quelle auf Google hinzufügen

Die wichtigsten Informationen zu DirectX 11, der Multimedia-API für Windows 7 und Windows Vista, fasst PC Games Hardware Online übersichtlich für Sie zusammen. Bereits auf der hauseigenen Gamefest-Konferenz präsentierte Microsoft 2008 erstmals Pläne für die kommende Multimedia-Schnittstelle und Spiele-API DirectX 11.

Gamefest und DirectX 11
Wie jedes Jahr lud Microsoft die Spieleentwickler nach Seattle ein, um dort über die neuesten Entwicklungen bei Windows- und Xbox-360-Spielen zu informieren. Während der zweitägigen Veranstaltung kamen neben den Bereichen Grafik und Sound auch allgemeine Systemfragen zur Sprache. Wir fassen zusammen, was Sie aktuell über DirectX 11 wissen müssen.

Passend zum Thema DirectX 11 empfehlen wir außerdem noch die Lektüre folgender Artikel:
Direct X 11 offenbar doch mit Windows 7 - Microsoft revidiert seine Aussage
Direct X 11 in exklusiven Screenshots - das kann die neue API
Nvision 2008: Direct X 11 Preview im November, erster DX11-Demo-Screenshot

Grafik - DirectX 11
Eines der Highlights der Veranstaltung war die offizielle Ankündigung der neuen Direct3D-Version durch Allison Klein, Senior Lead Program Manager bei Microsoft. Diese wird nach dem Zwischenschritt 10.1 wieder eine Hauptversion und entsprechend die 11 als Versionsnummer tragen. Nachdem bei Direct3D 10 vollständig mit der Abwärtskompatibilität gebrochen wurde, ergab sich die berechtigte Frage, wie Microsoft dieses sensible Thema nun behandeln würde.

Da Direct3D 11 das für Vista entwickelte Treibermodel nutzen wird, ist auch weiterhin nicht mit einer Version für Windows XP zu rechnen. Auf die nächste Windows-Version wird man dagegen aber auch nicht warten müssen. Ebenso wird Direct3D 11 auch mit allen GPUs funktionieren, die einen entsprechenden Treiber besitzen. Dies schließt alle bisher erschienenen Direct3D-10- und -10.1-GPUs mit ein. Microsoft geht sogar noch einen Schritt weiter und fügt einen speziellen Modus für ausgewählte Direct3D-9-Hardware hinzu. Dabei dürfte es sich um die gleichen Chips handeln, die auch für den Direct3D-Desktop Aero unterstützt werden. Mit dieser breiten Hardware-Kompatibilität scheint Microsoft erneut zu dem bis Direct3D 9 gültigen Modell einer Direct3D-Version für alle zurückkehren zu wollen. Allerdings wird die fehlende Windows-XP-Unterstützung Direct3D 9 noch einige Zeit am Leben halten.

In einem anderen Punkt kehrt man jedoch nicht zu Direct3D 9 zurück. Ebenso wie Direct3D 10 erlaubt man bei der neuen Version den GPU-Entwicklern nicht, sich einzelne Features herauszupicken. Um eine Freigabe für das als Techlevel 11 bezeichnete Gesamtpaket zu bekommen, müssen alle neuen Features unterstützt werden. Neben einer Reihe kleinerer Verbesserungen besteht dieses aus fünf neuen Hauptfeatures:

• Compute-Shader
• Tesselation
• Multithreading
• Dynamic-Shader-Linking
• Zusätzliche Texturkompression

Welche Windows-Versionen und welche DirectX-Tech-Level untereinander kompatibel sind, erfahren Sie in unseren folgenden Tabellen:

Kompatibilität I Windows XP Windows Vista Windows 7
Direct3D 9 Ja Ja Ja
Direct3D 10 Nein Ja Ja
DirectX-Techlevel Direct3D 9 Direct3D 10 Direct3D 10.1 Direct3D 11
Techlevel 9.x Vollständig Nein Nein Eingeschränkt *
Techlevel 10.0 Beschränkt auf Level 9 Vollständig Vollständig Vollständig
Techlevel 10.1 Beschränkt auf Level 9 Beschränkt auf Level 10 Vollständig Vollständig
Techlevel 11 Beschränkt auf Level 9 Beschränkt auf Level 10 Beschränkt auf Level 10.1 Vollständig

[* Keine Funktionalität, die ab 10.0 entfernt wurde]

DirectX 11 Compute Shader für Post-Processing-Effekte. Quelle: Microsoft DirectX 11 Compute Shader für Post-Processing-Effekte. DirectX 11 - Compute-Shader
Mit dem Compute-Shadern (ohne r) beginnt für Direct3D 11 das GPGPU-Zeitalter (General Processing GPU). Wurden bisher herstellereigene APIs wie Cuda dafür genutzt, wird nun eine neutrale API für GPGPU-Anwendungen zur Verfügung stehen. Obwohl die Compute-Shader nicht Teil der 3D-Pipeline selbst sind, können sie auf die gleichen Daten zugreifen. Dadurch wird der Austausch von Rechenergebnissen wesentlich vereinfacht. So lassen sich Compute-Shader ebenso für die Effektphysik wie auch für das Post-Processing einsetzen.

Von Microsoft vorgenommene Untersuchungen zeigen, dass dabei Performance-Steigerungen um mehr als das Doppelte möglich sind. Die dadurch frei werdende Rechenleistung kann dann anderweitig genutzt werden. Möglich wird dies unter anderem dadurch, dass alle Threads eines Compute-Shaders auf einen gemeinsamen 32-kiByte-Speicherblock innerhalb des Chips zugreifen können.

DirectX 11 - Tesselator Quelle: Microsoft DirectX 11 - Tesselator DirectX 11 - Tesselation
Nachdem die Tesselation bei Direct3D 10 während der Planungsphase wieder entfernt wurde, kehrt sie nun bei Direct 3D 11 zurück. Bisherige Versuche, dieses Feature in Direct 3D zu etablieren, scheiterten an der zögerlichen Unterstützung in den GPUs. Während Nvidia bei der Geforce 3 auf RT-Patches setzte, wählte Ati bei der Radeon 8500 mit N-Patches (Tru-Form) einen anderen Weg. In beiden Fällen verschwand die Hardware-Unterstüzung in der nächsten Generation wieder. In Direct 3D 11 setzt Microsoft nun auf einen Tesselator, der von zwei neuen Shader-Stufen unterstützt wird. Der vorgelagerte Hullshader berechnet dabei den Detailgrad der Tesselation pro Patch. Dazu nutzt er die vom Vertexshader berechneten Kontrollpunkte. Der Domainshader erzeugt dann aus dem Tesselationsergebnis wiederum Vertices, die vom Rest der Pipeline wie bisher auch verarbeitet werden.

DirectX 11 - Multi-Threading
DirectX 11 Multithreading - Der Ist-Zustand Quelle: Microsoft DirectX 11 Multithreading - Der Ist-Zustand DirectX 11 Multithreading - durch Physik und AI wird die GPU durch die CPU gebremst Quelle: Microsoft DirectX 11 Multithreading - durch Physik und AI wird die GPU durch die CPU gebremst Obwohl Direct 3D bereits seit der Version 9 eine Multithread-Unterstützung anbietet, lag das Augenmerk hierbei nie auf der Performance. Microsoft wollte damit lediglich verhindern, dass es durch den gleichzeitigen Zugriff von zwei Threads zu Instabilitäten kommt. Nachdem nun aber endgültig keine größeren Performance-Sprünge bei einzelnen CPU-Kernen mehr zu erwarten sind, überdachte man das Multithread-Konzept. Direct3D 11 legt nun Wert darauf, dass eine höhere Gesamtleistung erzielt werden kann. Die erste Maßnahme dafür ist ein neuer Ressource-Manager. Damit lassen sich nun Texturen und Geo­metriedaten gleichzeitig von mehreren Threads aus bearbeiten. Dies erleichtert vor allem das effiziente Hintergrund­laden (Streaming), wie es bei den immer größer werdenden Spielwelten erforderlich ist.

DirectX 11 Multithreading - durch Treiberupdates auch für DX10/10.1 nutzbar Quelle: Microsoft DirectX 11 Multithreading - durch Treiberupdates auch für DX10/10.1 nutzbar Des Weiteren können nun auch die Kommandos, die zur Grafikkarte geschickt werden sollen, von mehreren Threads aus in entsprechende Buffer geschrieben und später in der richtigen Reihenfolge zur GPU gesendet werden. Bei einem einfachen Beispiel für eine Dualcore-CPU generiert ein Kern die Kommandos für die Shadowmap, während der zweite gleichzeitig den Rest übernimmt. Anschließend werden die beiden Puffer zur GPU zum Abarbeiten übergeben. Stehen mehr Cores zur Verfügung, lässt sich die Arbeit noch weiter unterteilen.

DirectX 11 - Dynamic Shader-Linking
Mit den zunehmenden Möglichkeiten der Shader stieg auch der Wunsch nach mehr Abwechslung. Entsprechend entstanden immer mehr Varianten eines Shaders, die verwaltet werden müssen. Um die Anzahl dieser sogenannten Permutationen wieder auf ein Überschaubares zu reduzieren, entstand die Idee der Übershader, die alle möglichen Varianten in sich vereinen. Zur Laufzeit sollte dann die jeweils richtige durch einige Parameter selektiert werden.

Leider zeigte der Übershader eine schlechte Performance und so greift man doch wieder auf die Lösung mit den vielen Varianten zurück. Direct3D 11 möchte mit dem Dynamic-Shader-Linking nun eine neue Lösung des Problems anbieten. Die so entstandenen Shader enthalten alle möglichen Varianten in optimierter und komprimierter Form. Zur Laufzeit wird dann anhand der Parameter die richtige Variante ausgewählt. Für die Applikation selbst gleicht diese Lösung dem Übershader-Modell, die GPU bekommt aber die performantere Permutationsvariante präsentiert.

DirectX 11 - HDR-Texturkompression
Nach der Einführung der DXT-Texturkompression schien es fast, als wäre dieses Thema für Microsoft abgeschlossen. Mit Direct3D 10 erfolgte eine Umbenennung dieser in BC (Block Compression) und die Erweiterung um zwei zusätzliche Varianten der bekannten Technik. Eine wirkliche Neuerung war dies jedoch nicht. Direct3D 11 definiert mit BC6 und BC7 nun aber wirklich etwas Neues. BC6 dient dabei der Kompression von Formaten mit 16 Bit pro Farbkanal und erreicht eine Reduktion auf ein Sechstel der ursprünglichen Datenmenge.

BC7 zielt auf die gleichen Texturen wie bisherige Kompressionsverfahren, strebt aber eine höhere Qualität an. Dabei werden Kompressionsraten von 3:1 für Texturen ohne Alpha und 4:1 mit Alpha erreicht. Beide Verfahren nutzen ein adaptives Verfahren, das für jeden 16-Pixel-Block abhängig von der Farbvarianz unterschiedlich komprimieren kann. Um mögliche Abweichungen beim Ergebnis zu vermeiden, definiert Direct 3D 11 nun auch bitgenau, wie das Resultat der Dekompres­sion aussehen muss.

Texturkompression: links Original, mittig absoluter Fehler, rechts komprimierte Version
DirectX 11 - Texturkompression Orginal (links) vs. BC3-Format (rechts). Der absolute Fehler ist in der Mitte visualisiert.
DirectX 11 - Texturkompression Orginal (links) vs. BC3-Format (rechts). Der absolute Fehler ist in der Mitte visualisiert. DirectX 11 - Texturkompression Orginal (links) vs. BC7-Format (rechts). Der absolute Fehler ist in der Mitte visualisiert.
Texturkompression: links Original, mittig absoluter Fehler, rechts komprimierte Version
DirectX 11 - Texturkompression Orginal (links) vs. BC3-Format (rechts). Der absolute Fehler ist in der Mitte visualisiert.
DirectX 11 - Texturkompression Orginal (links) vs. BC3-Format (rechts). Der absolute Fehler ist in der Mitte visualisiert. DirectX 11 - Texturkompression Orginal (links) vs. BC7-Format (rechts). Der absolute Fehler ist in der Mitte visualisiert.

Dieses neue Verfahren wird aber genau wie wohl der Compute-Shader und die Tesselation den neuen Direct3D-11-GPUs vorbehalten bleiben. Multithreading und Dynamic-Shader-Linking wird jedoch auch für ältere Grafikhardware möglich sein. Dabei kann die neue Multithreading-Unterstützung durch einen neuen Treiber aktiv beschleunigt werden.

Bildergalerie

66
  1. Seite 1 DirectX 11 - Schnittstelle für Grafikkarten in Windows 7 und Vista
  2. Seite 2 DirectX 11 - 64 Bit, Sicherheit, Audio-Subsystem
    • Kommentare (66)

      Zur Diskussion im Forum
      • Von Thomsn Kabelverknoter(in)
        AW: DirectX 11 - Schnittstelle für Grafikkarten in Windows 7 und Vista

        Zitat von Sash
        es gab mal ein projekt von irgendwelchen leuten die haben auch dran geglaubt, und haben ein tool entwickelt womit es möglich war dx10 unter xp zu aktivieren.
        Das sogenannte Alky-Project war ein OpenGL-Wrapper. Da wurde kein D3D10 aktiviert.
      • Von Thomsn Kabelverknoter(in)
        AW: DirectX 11 - Schnittstelle für Grafikkarten in Windows 7 und Vista

        Zitat von Sash
        es gab mal ein projekt von irgendwelchen leuten die haben auch dran geglaubt, und haben ein tool entwickelt womit es möglich war dx10 unter xp zu aktivieren.
        Das sogenannte Alky-Project war ein OpenGL-Wrapper. Da wurde kein D3D10 aktiviert.
      • Von Thomsn Kabelverknoter(in)
        AW: DirectX 11 - Schnittstelle für Grafikkarten in Windows 7 und Vista

        Zitat von Brzeczek
        @ruyven_macaran
        Es wäre mega aufwendig aber es geht
        So aufwändig, dass man am Ende aus XP ein Vista gemacht hätte. Ist das also in irgendeiner Form interessant?
      • Von BigBubby Lötkolbengott/-göttin
        AW: DirectX 11 - Schnittstelle für Grafikkarten in Windows 7 und Vista

        Zitat von Tom3004
        Aber bei einer PS 3 z.B hast du kein Problem mit GTA 4 wie auf dem PC. Das ist der große Vorteil...
        du wirst aber nicht ewig nur gta4 spielen.
        Dazu wird die Spielindustrie durch fallende verkaufszahlen merken, dass sie mit DRM nichts erreichen. Genau wie bei der Musikindustrie.

        PS3 wird die letzte oder vielleicht vorletzte Konsole sein, die es geben wird.
      • Von Brzeczek Software-Overclocker(in)
        AW: DirectX 11 - Schnittstelle für Grafikkarten in Windows 7 und Vista

        Naja wenn die weiterhin so viel Geld machen im Konsolen Markt, sehe ich Schwarz.
      • Von Tom3004 BIOS-Overclocker(in)
        AW: DirectX 11 - Schnittstelle für Grafikkarten in Windows 7 und Vista

        Zitat von BigBubby
        auf dauer wird die Konsole wieder verlieren.
        Ist so, war immer so und wird immer so bleiben.
        Aber bei einer PS 3 z.B hast du kein Problem mit GTA 4 wie auf dem PC. Das ist der große Vorteil...
      Direkt zum Diskussionsende
  • Print / Abo
    Apps
    PCGH Magazin 08/2026 PC Games 08/2026 play5 08/2026 N-Zone 08/2026 Linux Magazin 08/2026 LinuxUser 08/2026 Raspberry Pi Geek 09/2026
    PC Games Hardware PC Games Linux Magazin Raspberry Pi Geek Computec Kiosk