Video cards all have to fulfill some basic functionality to be able to boot DOS etc. Worse they also have to have a small BIOS to contain the bit mask for the characters on the DOS VGA display. Over time the CPU has evolved considerably as engineers have figured out how to ramp up the performance. The VGA card also underwent a lot of change such as color depth and the amount of display buffer etc.
Starting with Windows Vista, Microsoft redesigned the driver model as part of a redesign of Windows more generally. The big change was mostly to migrate to 64-bit systems. Vista require both x86 and x64 driver versions be made available. The CPU has logic to support a layered approach to systems, this was expanded over time to provide more protection to the operating system. The WDDM is a kernel mode layer of the API.
With each new version of Windows there is a small improvement in the WDDM which is backwards compatible. One of the big changes with WDDM over the older WDM used with XP is that its very streamlined. Instead, the video driver components are moved to a different layer in the API stack.
The WDDM has to also provide some additional functionality as required by Windows Vista. For backwards compatibility the WDDM also has to maintain the older device driver model used by Windows 2000 and XP etc. Together the legacy layer and the modern layer simply means a few more function calls for the driver. The driver also has to deal with memory management etc. The HDCP DRM for BD is also part of the WDDM interface. This all runs with the kernel. Other kernel components include the keyboard, mouse and the rest of the motherboard.
|10 Creators Edition||2.2|
|10 Fall Creators Edition||2.3|
|Windows 10 version 1803||2.4|
|Windows 10 version 1809||2.5|
WDDM also provides fault-tolerance against display driver hangs. This enables Windows Vista to detect system hangs and restart the display driver again without the need of a system reboot. See the page on Timeout Detection and Recovery.
The rates of performance improvements for GPUs have exceeded Moore’s law by a wide margin. Experts say GPUs have been improving at a “Moore’s Law Cubed” rate, which roughly translates to a doubling of graphics processing power every year. To date, this massive graphics processing power has predominantly been used for video games, multimedia-rich suites, like video editing, special effects applications, and for high-end technical applications like computer-aided design. As a result, even though virtually every modern PC includes one, the power of the GPU is rarely used in day-to-day activities, resulting in GPUs not being a top priority in the PC design process.
At a technical level, WDDM display drivers have two components, a kernel mode driver (KMD) that is very streamlined, and a user-mode driver that does most of the intense computations. With this model, most of the code is moved out of kernel mode. That is, the kernel mode piece is now solely responsible for lower-level functionality and the user mode piece takes on heavier functionality such as facilitating the translation from higher-level API constructs to direct GPU commands while maintaining application compatibility. This greatly reduces the chance of a fatal blue screen and most graphics driver-related problems result in at worst one application being affected.
- GPU Memory Manager
- GPU Scheduler
With these technologies, applications no longer have to cede the GPU when another application requiring its services start up. Instead, the GPU is scheduled in a more efficient fashion. Cards like our EVGA GTX 660 Ti have a segmented architecture which readily supports the idea of scheduled GPU calls in parallel.
WDDM GPU memory is managed in either 4KB or 64KB pages. Each process has its own memory manager which is managed in the user mode which abstracts the lower level hardware.
- Hardware queues
- IOMMU support
- Blocklist support
- Surface swapchains
- Device GUID lookup support
- Version query (BIOS/architecture information)
- Perfdata query (clock frequencies (current/max/OC), voltage (current/max/OC), memory frequency, memory bandwidth, PCIE bandwidth, fan RPM, power usage, temperature (max/warning), power override status)
- ColorSpace Transform support
- Process device removal
- Additional d3d memory allocation types
- SDR White Level control
- Adapter paravirtualization
- Arbitrary Code Guard
- Configurable Display Render timings
- Detachable adapter support
- Display configuration support
- Source owner support
- Display redirection
- Protected device session
The process device removal checks if the process using the adapter can recover from graphics device removal. This is helpful for USB displays used more widely with menus in restaurants etc.
DXGI was added with Windows 7 and Vista SP2 to provide acceleration for legacy GDI but not GDI+ applications. The old GDI had to be completely rewritten. Rarely, GDI+ errors are seen with some .NET programs that display an error when launching.
Direct3D and DXGI are on top of the WDDM which expand the functionality. Games are built mostly with Direct3D with OpenGL being the main alternative. Microsoft had to completely rewrite the old DX code base around the new WDDM and DXGI so that old games would continue to work.
WINDOWS DESKTOP MANAGER
The Desktop Window Manager (DWM) is the technology in Windows Vista that controls the display and update of windows on the desktop. In order to eliminate drawing artifacts that are apparent on earlier versions of Windows, where applications draw directly to the screen asynchronously, the DWM composites onscreen content, such as application windows, in a back- or off-screen buffer, before drawing them onto the user’s display.
The DWM is, in essence, a Direct3D application that is active from the moment the computer is turned on. Core features of the WDDM, such as the ability to share the GPU resources and processing, become essential. For Windows Vista, there were two areas of investment in relation to the DWM: overall improvement in quality and a captivating user experience. The WDDM plays a key role in enabling all these advances. Built on top of the DWM is the Windows Vista signature end-user experience, Windows Aero.
Integrated graphics have been improved to better support the WDDM requirements. Our HP Stream 7 easily exceeds the needs for WDM and D3D requirements.
Older machines like our Toshiba Satellite Pro A210 can run Windows 10 with the Aero theme enabled. The old notebook with its x1200 can run Windows 10 desktop fine. The driver is WDDM 1.0 which is all that is needed. The machine has 4096MB of RAM so there is lots of room for the memory manager etc. DXGI runs fine and so does DX12 etc. Just do not expect to be able to play Grand Theft Auto V which is far to demanding for the limited performance of most mobile machines.
With the improved integrated graphics, demand for low-end video cards has been diminished considerably. Even the market for embedded graphics has been reduced. We expect to see material improvement in CPU/GPU graphics in the coming years with the advent of high-bandwidth memory.
AMD and NVIDIA both have new more powerful cards coming out every year. The performance gains of the flagship cards are impressive. DX9 and DX10 cards will still run older games fine. The same applies for DX11 cards. New generation DX12 cards will simply expand the range of new titles being published.
|GTX 660 Ti||2.3|
The FX5200 is a very basic card that came out in 2003. NVIDIA has a WDDM 1.0 driver. The 9100 also came out in 2003 but ATI does not have a WDDM 1.0 driver for it because the ATI card is only shader 1.4 (DX 8.1) capable when Windows XP is shader 3 (DX9).
The more recent x1200 came out in 2007 and it does support shader 2.
The EVGA GTX 660 Ti FTW Signature 2 is being supported by NVIDIA for DX12. Extreme video cards are very expensive and not many are sold each year.
The notorious blue screen of death is just the kernel model mode error handler. Its caused mostly by bad function calls to the kernel etc. It can also be caused by installing incorrect drivers. BSOD errors can be severe enough that Windows will need to be reinstalled fresh.