Möchtest du diese Seite als Startseite festlegen?
als Startseite festgelegt.
    Möchtest du diese Seite als Startseite festlegen?
    als Startseite festgelegt.
  • NEUE TECHNOLOGIEN

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

    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.

    DirectX 11 - die kommende Grafikschnittstelle für Windows 7 und VistaDirectX 11 - die kommende Grafikschnittstelle für Windows 7 und VistaQuelle: http://www.pcgameshardware.deGamefest 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 IWindows XPWindows VistaWindows 7
    Direct3D 9JaJaJa
    Direct3D 10NeinJaJa
    DirectX-TechlevelDirect3D 9Direct3D 10Direct3D 10.1Direct3D 11
    Techlevel 9.xVollständigNeinNeinEingeschränkt *
    Techlevel 10.0Beschränkt auf Level 9VollständigVollständigVollständig
    Techlevel 10.1Beschränkt auf Level 9Beschränkt auf Level 10VollständigVollständig
    Techlevel 11Beschränkt auf Level 9Beschränkt auf Level 10Beschränkt auf Level 10.1Vollständig


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

    DirectX 11 Compute Shader für Post-Processing-Effekte.DirectX 11 Compute Shader für Post-Processing-Effekte.Quelle: MicrosoftDirectX 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 - TesselatorDirectX 11 - TesselatorQuelle: MicrosoftDirectX 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-ZustandDirectX 11 Multithreading - Der Ist-ZustandQuelle: MicrosoftDirectX 11 Multithreading - durch Physik und AI wird die GPU durch die CPU gebremstDirectX 11 Multithreading - durch Physik und AI wird die GPU durch die CPU gebremstQuelle: MicrosoftObwohl 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 nutzbarDirectX 11 Multithreading - durch Treiberupdates auch für DX10/10.1 nutzbarQuelle: MicrosoftDes 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
    Texturkompression: links Original, mittig absoluter Fehler, rechts komprimierte Version

    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.

  • Stellenmarkt

    Es gibt 66 Kommentare zum Artikel

    Von Thomsn
    Das sogenannte Alky-Project war ein OpenGL-Wrapper. Da wurde kein D3D10 aktiviert.
    Von Thomsn
    So aufwändig, dass man am Ende aus XP ein Vista gemacht hätte. Ist das also in irgendeiner Form interessant?
    Von BigBubby
    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
    Naja wenn die weiterhin so viel Geld machen im Konsolen Markt, sehe ich Schwarz.
    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...
  • Print / Abo
    Apps
    PC Games Hardware 01/2015 PC Games 12/2014 PC Games MMore 03/2014 play³ 12/2014 Games Aktuell 12/2014 buffed 04/2014 XBG Games 12/2014
    PCGH Magazin 01/2015 PC Games 12/2014 PC Games MMORE Computec Kiosk On the Run! Birdies Run

    Unser Netzwerk

    PC GAMES 4PLAYERS VIDEOGAMES ZONE GAMES AKTUELL BUFFED GAMEZONE
article
676444
Neue Technologien
Neue Multimedia-API für Vista und Windows 7
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.
http://www.pcgameshardware.de/Neue-Technologien-Thema-71240/Specials/Neue-Multimedia-API-fuer-Vista-und-Windows-7-676444/
18.02.2009
directx 11,grafikkarte
specials