2D, Acceleration, And Windows: Aren't All Graphics Cards Equal?

Windows 7: Return Of The Prodigal Son

The Windows 7 logo flying bravely on a field of azureThe Windows 7 logo flying bravely on a field of azureTo many users, Vista earned its bad rep (or perhaps "bad rap") as a memory-hungry monster of an operating system. Nevertheless, it’s worth a second look, in light of the Windows 7 release. We must also observe that Windows 7 is more than just a cleaned up version of Vista, and finally includes many of the functions that one might expect a modern OS to deliver. Along with fundamental changes to the system itself, Windows 7 graphics give back to users what Vista took away—namely, unrestricted 2D graphics acceleration in hardware, including the GDI drawing functions.

Thanks to the introduction of WDDM 1.1, Windows 7 also prevents doubling up on memory usage (once for individual window buffers, and again for each active window in the DWM). This helps facilitate a more slimmed-down system, with more modest resource requirements. In Windows Vista, doubled-up memory consumption explains why system memory became so heavily loaded.

Running Vista, the OS grabs all the memory it can get… (Source: Microsoft)Running Vista, the OS grabs all the memory it can get… (Source: Microsoft)

…but Windows 7 is much more restrained (Source: Microsoft)…but Windows 7 is much more restrained (Source: Microsoft)

To supplement GDI in Windows 7, Direct2D has also been introduced. This interface uses analog-to-Direct3D conversion to exploit hardware acceleration while also supporting a more complex set of graphics functions. Direct2D enjoys the speed of GDI along with the extended capabilities of the ill-fated GDI+ interface. It still remains to be seen, however, if Direct2D can earn meaningful support from developers.

Even today, the vast majority of programs still use the GDI API for rendering and manipulation of 2D graphics elements. We’re ecstatic that Windows 7 gives back the hardware acceleration for these commands that Vista took away.

Asynchronous GDI in Windows 7 (Source: Microsoft)Asynchronous GDI in Windows 7 (Source: Microsoft)

Nearly ideal scaling when handing multiple windows concurrently (Source: Microsoft)Nearly ideal scaling when handing multiple windows concurrently (Source: Microsoft)Summary:

  • Direct forwarding of GDI drawing commands to the graphic drivers via DWM
  • Asynchronous and simultaneous processing of GDI commands for multiple windows
  • Memory-conserving management strategies for the pending graphics request queue
  • New and improved WDDM 1.1 drivers

Graphics Card Vendor Requirement

The return of hardware acceleration for 2D graphics also brings graphics card vendors back into the game. The drivers for Windows 7 must be specially-crafted so they can deliver hardware acceleration for native two-dimensional GDI commands, while also supporting 2.5D layering for individual windows.

This is a crucial situation for some cards. For example, the current generation of cards from ATI appears to suffer from driver-related difficulties in both of these distinct 2D graphics acceleration areas. You’ll read in the next section about how we detected and what we concluded about these issues.