Early versions GDI was present in the initial release of Windows. MS-DOS programs had manipulated the graphics hardware using
software interrupts (sometimes via the
video BIOS) and by manipulating
video memory directly. Code written in this way expects that it is the only user of the video memory, which was not tenable in a
multitasking environment, such as Windows.
BYTE magazine, in December 1983, discussed Microsoft's plans for a system to output graphics to both printers and monitors with the same code in the forthcoming first release of Windows. On
Windows 3.1x and
Windows 9x, GDI can use
bit blit features for 2D acceleration, if a suitable
graphics card driver is installed. Since
Windows NT 4.0, the GDI of
Windows NT was running in
kernel mode; but since
Windows Vista, the
DWM runs in
user mode.
Windows XP With the introduction of
Windows XP,
GDI+ complemented GDI. GDI+ was written in C++. It adds anti-aliased 2D graphics, floating-point coordinates, gradient shading, more-complex path management, intrinsic support for modern graphics-file formats like
JPEG and
PNG, and support for composition of
affine transformations in the 2D view pipeline. GDI+ uses
RGBA values to represent color. Use of these features is apparent in Windows XP components, such as
Microsoft Paint,
Windows Picture and Fax Viewer, Photo Printing Wizard, and the My Pictures Slideshow screensaver. Their presence in the basic graphics layer greatly simplifies implementations of vector-graphics systems such as
Adobe Flash or
SVG. Besides,
.NET Framework provides a managed interface for GDI+ via the System.Drawing
namespace. While GDI+ is included with Windows XP and later, the GDI+ dynamic library can also be shipped with an application and used on older versions of Windows. Because of the additional text processing and resolution independence capabilities in GDI+, the CPU undertakes text rendering. The result is an order of magnitude slower than the
hardware-accelerated GDI. Chris Jackson published some tests indicating that a piece of text rendering code he had written could render 99,000 glyphs per second in GDI, but the same code using GDI+ rendered 16,600 glyphs per second. GDI+ is similar (in purpose and structure) to
Apples
QuickDraw GX subsystem, and the open-source
libart and
cairo libraries.
Windows Vista In Windows Vista, all Windows applications including GDI and GDI+ applications run in the new compositing engine,
Desktop Window Manager (DWM), which is GPU hardware-accelerated. As such, the GDI itself is no longer hardware-accelerated. Because of the nature of the composition operations, window moves can be faster or more responsive because the application does not need to re-render the underlying content. == GDI printers ==