What is the Desktop Windows Manager (DWM)?
April 1, 2007
A. One of Windows Vista's most touted features is its new Aero (formerly Aero Glass) graphical scheme, which gives transparent, frosted edges to screen windows, taskbar thumbnails, and task-switch thumbnails. (Aero also enables the new Flip 3D task switcher.) But how do these features actually work?
The new DWM runs as a service: The Desktop Windows Manager Session Service, with an internal name of UxSMS ("ux" stands for "user experience"), is implemented in the dwm.exe image. This service is responsible for compositing the desktop display for the entire OS when you run the Aero scheme.
In all previous OSs (and in Vista when you aren't running Aero), each application writes directly to the screen buffer. In the event that a window passes over the graphical area of another window, the system sends a WM_PAINT message to the application, telling it to redraw its window. If the application is busy, it might not process the WM_PAINT message, resulting in trails left behind the moving window. Also, if you move a window across the screen and it can't redraw fast enough, its window is broken into pieces as you drag the window. (This phenomenon is called tearing.)
DWM changes this situation. The system uses an off-screen buffer to composite each application's off-screen graphical-display buffers, then the DWM draws that buffer to the onscreen buffer. This means that the DWM holds the graphical content of each application, and for each screen refresh it doesn't need the application to redraw its content. Instead, it uses a snapshot of the most recent display update it received from the application to composite the latest buffer onscreen. A non-responsive application won't result in any trails; the DWM will use an off-screen buffer for that application. Note that although the DWM process is always running, it's essentially idle except when the system is in Aero graphical mode. DWM's use of a separate graphical buffer for every running application permits thumbnails of applications and Flip 3D. (APIs are even available that let other applications access the thumbnail technology.) When the OS needs a thumbnail, it simply shrinks the application's graphical buffer, which the DWM has available.
If you're running in any other graphical mode, including Vista Basic, DWM isn't heavily used and the trail behavior of moving windows is still evident. The reason is that the display isn't composited. The DWM process is still running even in non-Aero mode; it still handles Windows Ghosting, which is the process by which a non-responsive window takes on a frosted, whited-out appearance and adds "(Not Responding)" to the end of the window's caption.
About the Author
You May Also Like