In the latest Microsoft-sponsored article, part of the Gamasutra XNA microsite
, Microsoft's Kevin Gee explains in-depth
the new features of DirectX 11, from improved multi-threading to Shader Model 5.0 and beyond.
Gee, part of the XNA Developer Connection team, outlines a number of major features that comprise DirectX 11, including improved multithreading, new hardware stages for tesselation, improved texture compression, and others.
In particular, Gee describes better multithreading support as follows:
"Earlier releases of Direct3D focused primarily on single-CPU configurations and as such had limited threading support. With DirectX 11, the API has been updated to enable developers to better drive the GPU from a multi-core CPU. DirectX 11 improves scaling on CPUs via changes to both the API model and driver model. Asynchronous device access becomes possible through two key features of the Direct3D 11 device object.
First, improvements in synchronization between the Direct3D device object and the driver enable asynchronous API calls, including resource allocations. Direct3D 11 allows developers more freedom when expressing parallelism by allowing such calls to occur across multiple threads.
Second, the Direct3D device interface now supports multiple rendering contexts: 1) a primary immediate context which dictates the timeline for work submission to the GPU, and 2) optional deferred contexts created by the application developer as needed. Work associated with each deferred context can occur on a separate thread/core. This enables GPU commands to be accumulated in parallel to the main rendering work, and then sent to the GPU later when the main context is ready to submit a new task to the GPU.
You can now read the entire sponsored feature
, detailing many of the new features.