Desktop Windows Manager (DWM)
The Desktop Window Manager (DWM) in Windows 7 uses the DirectX 10 interface that was first available in Windows Vista. However, how it uses DirectX 10 depends on the type of driver used :
-
When DirectX 10 hardware is used with a DirectX 10 WDDM v1.1 driver, DWM uses the native Direct3D 10 API.
-
When neither DirectX 10 hardware nor WDDM v1.1 driver are available, DWM uses the DirectX 10-level-9 driver that Microsoft provides. The DirectX 10-level-9 driver is essentially a large subset of Direct3D 10 API that runs on DirectX 9 hardware and uses Direct3D 9 capabilities.
By using Direct3D 10, DWM gains several benefits :
-
Advantages of the Direct3D 10 API and techniques. The Direct3D 10 API was a radical change from previous DirectX API sets and provides several benefits to clients. DWM can thus take advantage of this new API set.
-
Better maintainability of the window manager for future versions of the operating system. DWM uses the DirectX Graphics Interface (DXGI) to discover adapter capabilities. DXGI eliminates common reliability problems and manages low-level tasks independent of the Direct3D graphics runtime.
DXGI provides a common framework for several versions of Direct3D. In previous versions of Direct3D, the 3D runtime performed low-level tasks like enumerating hardware devices, presenting rendered frames to an output, controlling gamma, and managing a full-screen. These tasks are now implemented in DXGI. -
Ease of supportability. A clean rewrite and use of the Direct3D API automatically provides the benefit of great long-term supportability and the ability to make fixes if necessary.
-
Performance. Use of the Direct3D 10 API improves performance in some DWM micro-benchmark scenarios. For example, it increases the speed of glass blur and window update and at the same time reduces the memory footprint.
For DWM to run on Direct3D 10, the display driver must support the blue-green-red-alpha (BGRA) color format. BGRA color format support is part of the WDDM v1.1 requirements. In the absence of a WDDM v1.1 driver, the DWM fall back to use the DirectX 10-Level-9 driver.
DirectX 10-Level-9
Direct3D 10 applications can simultaneously target DirectX 9 hardware in Windows 7 by using the Microsoft Direct3D 10-Level-9 driver. The following is a summary of benefits :
-
Unified source code for DirectX10 and DirectX9 hardware. Game developers can maintain a single source code tree by using Direct3D 10 on both DirectX10 and DirectX9 hardware.
-
Higher performance. Direct3D 10-Level-9 is a specialized driver for the Direct3D 10 runtime. Therefore, game developers get the higher performance of the Direct3D 10 runtime (versus the Direct3D 9 runtime) while still targeting the Direct3D 9 hardware.
-
Positioning for the future. Direct3D 11 runs on Direct3D 10 hardware, including Direct3D 10-level-9. Extending a Direct3D 10-level-9 code path to use Direct3D 11 features is straightforward, whereas extending a Direct3D 9 code path requires a complicated abstraction layer.
Support Tech ARP!
If you like our work, you can help support out work by visiting our sponsors, participate in the Tech ARP Forums, or even donate to our fund. Any help you can render is greatly appreciated!
<<< Introduction, Windows 7 & Direct3D 10 : Previous Page | Next Page : Remote Rendering, Direct2D API >>>