Windows Display Driver Model

Windows Display Driver Model

Windows Display Driver Model (WDDM, also WVDDM) is the graphic driver architecture for video card drivers running Microsoft Windows versions beginning with Windows Vista. The WDDM is used by the graphics card drivers to provide the functionality required to render the desktop and applications using Desktop Window Manager, a compositing window manager running Direct3D. Windows Vista and Windows Server 2008 contain WDDM 1.0 in which the Desktop Window Manager runs on Direct3D 9.0Ex, as well as enables certain advanced functionality required by Direct3D 10.

Overview

WDDM drivers enable new areas of functionality which was not uniformly provided by earlier display driver models. These include:

Virtualized video memory

In the context of graphics, virtualization means that individual processes (in userland) cannot see the memory of adjacent processes even by means of insertion of forged commands in the command stream. WDDM drivers allow video memory to be virtualized, and video data to be 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 or to the disk. When the swapped out data is needed, it is fetched back. Virtualization could be supported on previous driver models (such as the XP Driver Model) to some extent, but was the responsibility of the driver, instead of being handled at the runtime level.

cheduling

The runtime handles scheduling of concurrent graphics contexts. Each list of commands is put in a queue for execution by the GPU, and it can be preempted by the runtime if a more critical task arrives and if it has not begun execution. This differs from native threads on the CPU where one task cannot be interrupted and therefore can take longer than necessary and make the computer appear less responsive. A hybrid scheduling algorithm between native and light threads with cooperation between the threads would achieve seamless parallelism. It is important to note that scheduling is not a new concept but it was previously the responsibility of individual driver developers. WDDM attempts to unify the experience across different vendors by controlling the execution of GPU tasks.

Cross-process sharing of Direct3D surfaces

A Direct3D graphics surface is the memory area that contains information about the textured meshes used for rendering a 2D or 3D scene. WDDM allows Direct3D surfaces to be shared across processes. Thus, an application can incorporate a mesh created by another application into the scene it is rendering. Sharing textures between processes before WDDM was difficult, as it would have required copying the data from video memory to system memory and then back to video memory for the new device.

Enhanced fault tolerance

If a WDDM driver hangs or encounters a fault, the graphics stack will restart the driver. A graphics hardware fault will be intercepted and if necessary the driver will be reset. Drivers under Windows XP were free to deal with hardware faults as they saw fit either by reporting it to the user or by attempting to recover silently. With a WDDM driver, all hardware faults cause the driver to be reset and the user will be notified by a popup; this unifies the behavior across vendors.

Previous drivers were fully implemented in kernel mode, whereas WDDM is implemented partly in user mode. If the user mode area fails with an unrecoverable error, it will, at the most, cause the application to quit unexpectedly instead of producing a blue screen error as it would in previous driver models.

WDDM also allows the graphic hardware to be reset or unplugged without a proper reboot. In practice, a driver update should not necessitate a reboot.

Need for a new display driver model

A typical application that relies on the Windows Display Driver Model is the Desktop Window Manager. 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. Because there is no limit 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.

Though this is true for Microsoft's implementation of a composited desktop under Windows Vista, on the other hand, a composited desktop need not theoretically require a new display driver model to work as expected. Successful implementations of composited desktops were done before Windows Vista on other platforms such as Quartz, Compiz, WindowFX). The approach Microsoft attempted was to try to make sure WDDM was a unified experience across different GPUs by standardizing their features and performance. The software features missing from other driver models could be made immaterial by extensions or if a less restrictive or simply different driver model was in place.

Limitations

One of the current limitations of WDDM is that it does not support multiple 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 will disable one of them. [cite web | url = http://www.microsoft.com/whdc/device/display/multimonVista.mspx | title = MultiMonitor Support and Windows Vista | accessdate = 2007-10-20] . Also WDDM does not allow some modes that were previously handled by the driver such as spanning mode (same desktop view across two monitors). The new driver model also currently puts a limit on what hardware can support it, it needs to have Shader Model 2.0 support at least (fixed function pipeline is now translated to 2.0 shaders) and some other hardware features that were not previously enforced (causing, for example, SM 2.0-supporting hardware such as Intel GMA to fail the WDDM certification [ [http://forum.beyond3d.com/showthread.php?t=35048 Intel excuse for no GMA900 WDDM driver: no "HW Scheduler" no driver] , Beyond3D, October 26, 2006.] ).

Future versions

At WinHEC 2006, Microsoft talked about how it was planning a major change to WDDM to allow for better scheduling of tasks (multitasking) on GPUs. According to Microsoft, WDDM 1.0 only allows rudimentary task scheduling. The upcoming WDDM 2.0, which is expected post-Vista [ [http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/PRI023_WH06.ppt PowerPoint Presentation by Nabeel Al-Kady on Display Driver Logistics And Testing] ] but on which Microsoft has not put an introduction date, will require a new generation of GPUs. [cite web|url=http://www.apcstart.com/site/dwarne/2006/06/193/windows-graphics-system-to-be-overhauled|title=Windows graphics system to be overhauled|author=Dan Warne|publisher=APC Magazine|year=June 1 2006|accessdate=2006-06-02]

References

External links

* [http://msdn2.microsoft.com/en-us/library/aa480220 MSDN - WDDM Introduction]
* [http://www.microsoft.com/technet/windowsvista/evaluate/hardware/entpguid.mspx List of GPUs supporting WDDM]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Windows Display Driver Model — (WDDM, aussi appelé WVDDM) est le modèle de pilote pour carte graphique apparu sur Windows Vista. Les pilotes WDDM pour Direct3D 9.0Ex et 10 sont incompatibles entre eux. Les versions de pilotes WDDM correspondants sont 1.0 et 2.0. Sommaire 1 Vue …   Wikipédia en Français

  • Windows Display Driver Model — (WDDM, también WVDDM durante el tiempo que Vista marco) es la arquitectura de controladores gráficos para controladores de la tarjeta de vídeo con Microsoft las versiones de Windows a partir de Windows Vista.[1] Se trata de un reemplazo para la… …   Wikipedia Español

  • Windows Display Driver Model — Эта статья содержит незавершённый перевод с иностранного языка. Вы можете помочь проекту, переведя её до конца. Если вы знаете, на каком языке написан фрагмент, укажите его в этом шаблоне. Windows Display Driver …   Википедия

  • Windows Display Driver Model — Das Windows Display Driver Model (WDDM) ist ein für Microsoft Windows Vista entwickeltes Anzeigetreibermodell, das aus einer Überarbeitung der in Windows XP enthaltenen Architektur entstand. Überblick WDDM unterstützt die neuen Vista… …   Deutsch Wikipedia

  • Windows Desktop Driver Model — Das Windows Display Driver Model (WDDM) ist ein für Microsoft Windows Vista entwickeltes Anzeigetreibermodell, das aus einer Überarbeitung der in Windows XP enthaltenen Architektur entstand. Überblick WDDM unterstützt die neuen Vista… …   Deutsch Wikipedia

  • Windows Driver Model — In computing, the Windows Driver Model (WDM) mdash; also known at one point as the Win32 Driver Model mdash; is a framework for device drivers that was introduced with Windows 98 and Windows 2000 to replace VxD, which was used on older versions… …   Wikipedia

  • Windows Vista — Part of the Microsoft Windows family …   Wikipedia

  • Driver — may refer to: Contents 1 Places 2 Surnames of people 2.1 Fiction 3 Occupation and activity 3.1 …   Wikipedia

  • Windows Photo Viewer — A component of Microsoft Windows Details …   Wikipedia

  • Windows Longhorn — Windows Vista Famille Microsoft Windows Type de noyau Noyau hybride État du proje …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”