Encyclopedia > GDI

  Article Content


GDI is short for Graphics Device Interface, and is one of the three core components or "subsystems" of Microsoft Windows. 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[?].

Perhaps the most significant capability of GDI over more direct methods of accessing the hardware is its scaling capabilities, and abstraction 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 centre of all WYSIWYG applications for Microsoft Windows.

Simple games which do not require fast graphics rendering, such as Freecell[?] or Minesweeper, use GDI. However, for applications requiring more complex graphics, GDI is too slow. This is due to GDI's constant checking to make sure every pixel is inside the proper window, and also its complex driver model. Modern games use DirectX, which gives programmers near-direct access to the video hardware—for example, providing the address of the actual screen memory.

GDI printers, in particular GDI laser printers, replace the traditional processing power of the printer itself with capabilities "borrowed" from the host computer. There are two advantages:

  • It saves the cost of including a dedicated graphics processing CPU and RAM in the printer (typically about $50 US).
  • Depending on the particular implementation it can provide performance benefits.

The disadvantages are that:

  • It imposes a higher workload on the host system's resources. In the most recent systems this usually is a non-issue, in older systems (typically in the 200 to 500MHz range) it could be a significant problem. In older systems still, it is often not possible to use a GDI printer at all.
  • GDI printers usually do not include the usual range of emulations in their firmware (nor the processing ability to implement them). In consequence, where with a full-featured PCL or Postscript printer the user has many alternative driver configurations to fall back on in case of a software incompatibility or driver bug, with a GDI printer there is often no workaround.
  • GDI printers generally only work with Windows. Exceptions exist, but as a rule it is not possible to upgrade to a different operating system if you own a GDI printer.

Most current model inkjet printers are GDI-based (largely for performance reasons, as the cost factor is primarily to do with lasers), but the trend is to add more flexibility: many offer Mac support and the Linux community has become increasingly good at making Linux drivers available. Some (notably Epson[?]) often also offer a more traditional emulation as a fallback.

In general, the cheapest current model laser printers are GDI devices. Most manufacturers also produce more flexible models that add PCL compatibility, or Postscript, or both. In most cases it is only the very cheapest models in any given manufacturer's range that are GDI only.

All Wikipedia text is available under the terms of the GNU Free Documentation License

  Search Encyclopedia

Search over one million articles, find something about almost anything!
  Featured Article

...     Contents User:Mcarling wikipedia.org dumped 2003-03-17 with ...