Multi-Threading
Für mehr Performance soll feinkörniges Multi-Threading sorgen. Bislang schaffen es die meisten Spiele-Engines lediglich, eine Dual-Core-CPU mit zwei unabhängigen Threads auszulasten, von denen einer beispielsweise Grafikdaten aufbereitet und ein anderer sich mit KI- oder Physik-Routinen beschäftigt. Entwickler tun sich aber schwer damit, diese sogenannte grobkörnige (course grained) Multi-Threading weiter aufzusplitten, weshalb bisher erst sehr wenige 3D-Spiele von Quad-Core-CPUs profitieren. DirectX 11 kann mehrere Kontexte parallel verwalten und übernimmt zusammen mit dem Grafikkartentreiber auch die Synchronisation der Threads. Dadurch sind Entwickler in der Lage, einzelne Objekt-Gruppen der Spielwelt mit jeweils einen eigenen Thread zu behandeln (multithreaded draw and state submission). Neben mehreren Rendering-Threads kann ein weiterer CPU-Kern gleichzeitig Texturen und Displaylisten für einen anderen Bereich des Bildes zusammenstellen (threaded resource creation). Weil die Grafikkarte allerdings nach wie vor nicht gleichzeitig verschieden Teile des Bildesberechnen kann, sorgen DirectX 11 und der Grafikkartentreiber dafür, dass alle Kommandos nacheinander und in der richtigen Reihenfolge zur Grafikkarte gelangen. Die letzte Konsequenz besteht darin, sogar jedem einzelnen Objekt seinen eigenen Thread zuzuweise, um auch CPUs mit Dutzenden von Kernen auszulasten. Multi-Threading soll in Grenzen ebenfalls mit DirectX-10 und DirectX-11.1-Grafikkartenfunktionieren. Dazu müssen AMD und Nvidia nur ihre Treiber um einige Funktionen erweitern. DirectX-11 Grafikchips sollen zusätzliche Hardware-Eigenschaften besitzen, mit denen sie bei Multi-Threading effizienter vorgehen können als heutige GPUs.