W7 Mail
W7 Mail

Windows Display Driver Model

Features enabled by the WDDM

WDDM drivers enable new areas of functionality which were 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.

Scheduling

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

One of the chief scenarios the Windows Display Driver Model enables 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 from multiple vendors 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

The new driver model requires the graphics hardware to have Shader Model 2.0 support at least (fixed function pipeline is now translated to 2.0 shaders). However, according to Microsoft, as of 2009, only about 1-2 percent of hardware used the XPDM, with the rest already WDDM capable. It also requires some other hardware features (causing, for example, SM 2.0-supporting hardware such as Intel GMA 900 to fail the WDDM certification ).

One of the limitations of WDDM driver model version 1.0 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.. WDDM 1.1 does not have this limitation.

WDDM 1.0/1.1 does not allow some modes that were previously handled by the driver such as spanning mode (stretching the desktop across two monitors) although Dual View is still available.

WDDM 1.1

Windows 7 supports major additions to WDDM tentatively known as WDDM 1.1; the details of this new version were unveiled at WinHEC 2008. New features include :

DXGI 1.1, which features return of 2D GUI hardware acceleration for use by GDI and Direct2D/DirectWrite

BitBlt, StretchBlt, TransparentBlt

AlphaBlend, ColorFill

ClearType font support

Direct3D 11 Device Driver Interface (DDI)

DXVA-HD DDI

Hardware video overlay DDI

Optional AES 128 encryption

Optional decoding of encrypted video content

Support multiple drivers in a multi-adapter, multi-monitor setup

Hardware acceleration of GDI and Direct2D/DirectWrite operations helps reduce memory footprint in Windows 7, because DWM compositing engine no longer needs to keep a system memory copy of all surfaces used by GDI/GDI+, as in Windows Vista.

WDDM 1.1, Direct3D 11, Direct2D and DirectWrite will also be available with Windows Vista Platform Update; however GDI/GDI+ in Vista will continue to rely on software rendering[citation needed] and the Desktop Window Manager will continue to use Direct3D 9Ex.[citation needed]

WDDM 1.1 drivers are backward compatible with WDDM 1.0 specification; both 1.0 and 1.1 drivers can be used in Windows Vista with or without the Platform Update.

Future versions

WDDM 2.0

At WinHEC 2006, Microsoft talked about how it was planning a major change to WDDM to allow for better multitasking on GPUs. According to Microsoft, WDDM 1.0 only allows rudimentary task scheduling with rendering "batch queue" granularity. In the future, WDDM 2.0 and WDDM 2.1, which were then expected post-Vista but on which Microsoft had not put an introduction date, would offer fine grain preemptive multitasking and would require a new generation of GPUs.

References

^ a b c Windows Vista Display Driver Model

^ Graphics Memory Reporting in WDDM

^ The role of the Windows Display Driver Model in the DWM

^ Cross Process Resource Sharing

^ a b c "WHDC: Graphics Guide for Windows 7". Microsoft. 12-06-2009. http://www.microsoft.com/whdc/device/display/GraphicsGuideWin7.mspx

^ Intel excuse for no GMA900 WDDM driver: no "HW Scheduler" no driver, Beyond3D, October 26, 2006.

^ "MultiMonitor Support and Windows Vista". http://www.microsoft.com/whdc/device/display/multimonVista.mspx. Retrieved 2007-10-20. 

^ Working With the Windows 7 Graphics Architecture: WinHEC 2008

^ Are there Control Panel features that were available under Windows XP that are no longer available on Windows Vista?

^ Stretched Desktop or Spanning Mode Not Available in Catalyst Control Center Under Windows Vista

^ Description of DualView in Windows XP

^ MultiMonitor Support and Windows Vista

^ "Windows DDK - GDI Hardware Acceleration". MSDN. http://msdn.microsoft.com/en-us/library/ee206465.aspx. Retrieved 2009-06-14. 

^ "Windows DDK - DXVA-HD DDI". MSDN. http://msdn.microsoft.com/en-us/library/dd835187.aspx. Retrieved 2009-06-13. 

^ "Windows DDK - Overlay DDI". MSDN. http://msdn.microsoft.com/en-us/library/dd835190.aspx. Retrieved 2009-06-13. 

^ Greg Schechter's Blog: Redirecting GDI, DirectX, and WPF applications

^ Engineering Windows 7 Graphics Performance

^ WinHEC 2006: Display Driver Logistics And Testing

^ WinHEC 2006: Windows Display Driver Model (WDDM) v2 And Beyond

^ Dan Warne (June 1, 2006). "Windows graphics system to be overhauled". APC Magazine. http://www.apcstart.com/site/dwarne/2006/06/193/windows-graphics-system-to-be-overhauled. Retrieved 2006-06-02. 

External links

MSDN - WDDM Introduction

List of GPUs supporting WDDM

v  d  e

Microsoft APIs and frameworks

Graphics

Desktop Window Manager  Direct2D  Direct3D (extensions)   GDI / GDI+  WPF  Windows Color System  Windows Image Acquisition  Windows Imaging Component

Audio

DirectMusic  DirectSound  DirectX plugin  XACT  Speech API

Multimedia

DirectX  (Media Objects  Video Acceleration)  DirectInput  DirectPlay  DirectShow  Image Mastering API  Managed DirectX  Media Foundation  XNA  Windows Media

Web

MSHTML  RSS Platform  JScript  VBScript  BHO  XDR  SideBar Gadgets

Data access

Data Access Components  Extensible Storage Engine  ADO.NET  ADO.NET Entity Framework  Sync Framework  Jet Engine  MSXML  OLE DB  OPC

Networking

Winsock (LSP)  Winsock Kernel  Filtering Platform  Network Driver Interface Specification  Windows Rally  BITS  P2P API  MSMQ  MS MPI

Communication

Messaging API  Telephony API  WCF

Administration and

management

Win32 console  Windows Script Host  WMI (extensions)  PowerShell  Task Scheduler  Offline Files  Shadow Copy  Windows Installer  Error Reporting  Event Log  Common Log File System

Component model

COM  COM+  ActiveX  Distributed Component Object Model  .NET Framework

Libraries

Base Class Library (BCL)  Microsoft Foundation Classes (MFC)  Active Template Library (ATL)  Windows Template Library (WTL)

Device drivers

Windows Driver Model   Windows Driver Foundation (KMDF  UMDF)  WDDM  NDIS  UAA  Broadcast Driver Architecture   VxD

Security

Crypto API (CAPICOM)  Windows CardSpace  Data Protection API  Security Support Provider Interface (SSPI)

.NET

ASP.NET  ADO.NET  Base Class Library (BCL)  Remoting  Silverlight  TPL 

WCF  WCS  WPF  WF

Software factories

EFx Factory  Enterprise Library  Composite UI  CCF  CSF

IPC

MSRPC  Dynamic Data Exchange (DDE)   Remoting  WCF

Accessibility

Active Accessibility  UI Automation

Text and multilingual

support

DirectWrite  Text Services Framework  Text Object Model  Input method editor  Language Interface Pack  Multilingual User Interface  Uniscribe

v  d  e

Microsoft Windows components

Core

Aero  AutoPlay  AutoRun  ClearType  Desktop Window Manager  DirectX  Explorer  Taskbar  Start menu  Shell (Shell extensions  namespace  Special Folders  File associations)  Search (Saved search  IFilter)  Graphics Device Interface  Imaging Format  .NET Framework  Server Message Block   XML Paper Specification  Active Scripting (WSH  VBScript  JScript)  COM (OLE  OLE Automation  DCOM  ActiveX  ActiveX Document  COM Structured storage  Transaction Server)  Previous Versions  Win32 console

Management

tools

Backup and Restore Center   cmd.exe  Control Panel (Applets)  Device Manager  Disk Cleanup  Disk Defragmenter  Driver Verifier  Event Viewer  Management Console  Netsh  Problem Reports and Solutions  Sysprep  System Policy Editor  System Configuration  Task Manager  System File Checker  System Restore  WMI  Windows Installer  PowerShell  Windows Update  WAIK  WinSAT  Windows Easy Transfer

Applications

Calculator  Calendar  Character Map  Contacts  DVD Maker  Fax and Scan  Internet Explorer  Journal  Mail  Magnifier  Media Center  Media Player  Meeting Space  Mobile Device Center  Mobility Center  Movie Maker  Narrator  Notepad  Paint  Photo Gallery  Private Character Editor  Remote Assistance  Windows Desktop Gadgets  Snipping Tool  Sound Recorder  Speech Recognition  WordPad

Games

Chess Titans  FreeCell  Hearts  Hold 'Em  InkBall  Mahjong Titans  Minesweeper  Pinball  Purble Place  Solitaire  Spider Solitaire  Tinker

Kernel

Ntoskrnl.exe  hal.dll  System Idle Process  Svchost.exe  Registry  Windows service  Service Control Manager  DLL  EXE  NTLDR / Boot Manager  Winlogon  Recovery Console  I/O  WinRE  WinPE  Kernel Patch Protection

Services

BITS  Task Scheduler  Wireless Zero Configuration  Shadow Copy  Error Reporting  Multimedia Class Scheduler  CLFS

File systems

NTFS (Hard link  Junction point  Mount Point  Reparse point  Symbolic link  TxF  EFS)  FAT32FAT16FAT12  exFAT  CDFS  UDF  DFS  IFS

Server

Domains  Active Directory  DNS  Group Policy  Roaming user profiles  Folder redirection  Distributed Transaction Coordinator  MSMQ  Windows Media Services  Rights Management Services  IIS  Terminal Services  WSUS  Windows SharePoint Services  Network Access Protection  PWS  DFS Replication  Remote Differential Compression  Print Services for UNIX  Remote Installation Services  Windows Deployment Services  System Resource Manager  Hyper-V

Architecture

NT series architecture  Object Manager  Startup process (Vista/7)  I/O request packet  Kernel Transaction Manager  Logical Disk Manager  Security Accounts Manager  Windows File Protection / Windows Resource Protection  Windows library files  LSASS  CSRSS  SMSS  MinWin

Security

User Account Control  BitLocker  Defender  Data Execution Prevention  Security Essentials  Protected Media Path  Mandatory Integrity Control  User Interface Privilege Isolation  Windows Firewall  Security Center

Compatibility

Unix subsystem (Microsoft POSIX   Interix)  Virtual DOS machine   command.com  Windows on Windows  WoW64  Windows XP Mode

Categories: Microsoft Windows multimedia technology | Device driversHidden categories: All articles with unsourced statements | Articles with unsourced statements from February 2010

I am a professional writer from Frbiz Site, which contains a great deal of information about dvr hdtv tuner , 1394b pci, welcome to visit!


Rate This Article:

Related News:


Privacy Policy | Copyright/Trademark Notification