Graphics Device Interface

The Graphics Device Interface (GDI) is a Microsoft Windows application programming interface and core operating system component responsible for representing graphical objects and transmitting them to output devices such as monitors and printers.

GDI is responsible for tasks such as drawing lines and curves, rendering fonts and handling palettes. It is not directly responsible for drawing windows, menus, etc.; that task is reserved for the user subsystem, which resides in user32.dll and is built atop GDI. Other systems have components that are similar to GDI, for example Macintosh's Quartz (originally QuickDraw) and GTK's GDK/Xlib.

Perhaps the most significant capability of GDI over more direct methods of accessing the hardware are its scaling capabilities, and its abstract representation of target devices. Using GDI, it is very easy to draw on multiple devices, such as a screen and a printer, and expect proper reproduction in each case. This capability is at the center of all What You See Is What You Get applications for Microsoft Windows.

Simple games that do not require fast graphics rendering use GDI. However, GDI is relatively hard to use for advanced animation, and lacks a notion for synchronizing with individual video frames in the video card, lacks hardware rasterization for 3D, etc. Modern games usually use DirectX or OpenGL instead, which let programmers exploit the features of modern hardware.

Read more about Graphics Device Interface:  Technical Details, GDI Printers, Limitations, Successor: Direct2D and DirectWrite

Famous quotes containing the word device:

    Johnson did not answer ...; but talking for victory and determined to be master of the field, he had recourse to the device which Goldsmith imputed to him in the witty words of one of Cibber’s comedies. “There is no arguing with Johnson; for when his pistol misses fire, he knocks you down with the butt end of it.”
    Samuel Johnson (1709–1784)