Windows Display Driver Model

From Wikipedia, the free encyclopedia

Windows Display Driver Model (WDDM, also WVDDM) is the graphic driver model for video card drivers running under Windows Vista. The WDDM model is used by graphics card drivers to provide the functionality required to render the desktop and applications using Desktop Window Manager, a compositing window manager running Direct3D 9.0Ex, as well as to enable certain advanced functionality required by Direct3D 10.

WDDM drivers for Direct3D 9.0Ex are different from the WDDM drivers for Direct3D 10, and are incompatible with each other. Direct3D 9-class WDDM drivers are called WDDM 1.0 drivers and WDDM 2.0 refers to Direct3D 10-class drivers, with the latter requiring Direct3D 10 hardware.

[edit] Overview

WDDM drivers enable three areas of functionality which are not provided by earlier display driver models. These include:

Virtualized video memory
WDDM drivers allow video memory to be virtualized, and paged out of video memory into system RAM. In case the video memory available turns out to be insufficient to store all the video data and textures, currently unused data is moved out to system RAM to make room for the data. When the swapped out data is needed, it is brought back in.
GPU interruptibility
WDDM allows graphics operations to be interrupted and stopped temporarily during execution and resuming execution at a later time. This allows multiple graphics operations to run on a single GPU at the same time, by scheduling them on a time-shared basis. Direct3D 9-class WDDM drivers cannot interrupt shader programs, so a context switch occurs between two shader programs. This is termed as basic scheduling. Direct3D 10-class WDDM drivers allows advanced scheduling, which lets shader programs be interrupted as well. However, advanced scheduling is not a mandatory requirement for Direct3D 10, because of Nvidia's lack of support of it during Vista's release time frame.[1]
Cross-process sharing of Direct3D surfaces
WDDM allows Direct3D graphics surfaces, which are the memory area that contains information about the textured meshes Direct3D uses for rendering a 2D or 3D scene, to be shared across processes. Thus an application can incorporate into a scene it is creating a mesh created by some other application. But for Nvidia Geforce cards or for any Nvidia cards this WDDM Driver will reduce the card functionality and it may disable many features for Vista's performance , Its better to use the recommended Nvidia drivers from Nvidia's website and use to get the full potential out of your card.

These features are used by the DWM in Windows Vista. Since the desktop and application windows managed by DWM are Direct3D applications, the number of open windows directly affects the amount of video memory required. And because there is no cap on the number of open windows, the video memory available may prove insufficient, necessitating virtualization. As the window contents that DWM composes into the final desktop are generated by different processes, cross-process surface sharing is necessary. Also, because there can be other DirectX applications running alongside DWM on the DWM-managed desktop, they must be able to access the GPU in a shared manner, necessitating scheduling.[1]

WDDM also includes a number of other features. It provides enhanced fault tolerance. If a WDDM driver hangs or encounters some fault, Windows Vista graphics stack will restart the driver. A driver update also does not necessitate a reboot.

However, WDDM does not support heterogeneous drivers in a multi-adapter, multi-monitor setup. If a multi-monitor system has more than one graphics adapter powering the monitors, both the adaptors must use the same WDDM driver. If more than one driver is used, Windows Vista will disable one of them.[2]


[edit] References

[edit] External links