Introduction (Choosing the Right Printer Drivers)

Applies To: Windows Server 2003 with SP1

The Microsoft Windows printing architecture consists of a print spooler and a set of printer drivers. By calling device-independent Win32 printing and Graphics Device Interface (GDI) functions, applications can create print jobs and send them to any of a variety of devices, including laser printers, vector plotters, raster printers, and fax machines. Printer drivers include a user interface (UI) component that allows users to control a printer's selectable options.

An application's calls to Win32 GDI functions are passed to the GDI graphics engine, which either spools the drawing instructions as an enhanced metafile (EMF) or, in conjunction with a printer driver, renders a printable image that can be sent to the spooler. Spooler components interpret EMF files, and they can insert page layout information and job control instructions into the data stream. The spooler then sends the data stream to the serial, parallel, USB, or network port driver associated with the target printer's I/O port. The device interprets the job, formatted in Printer Description Language (PDL) for the device, and outputs the printed document.

The printer drivers that you select to run on your Windows 2003 print server can have a great impact on its performance, reliability, and scalability.

Printer performance and reliability can be improved by selecting robust, well-tested drivers. These drivers are less likely to crash and therefore require less maintenance by the print administrator.

Scalability is affected by the quantity of unique drivers on a specific server. By reusing the same driver for multiple printers, you lower the chances that drivers will interact in a negative way and reduce the amount of spooler process and registry space used.

The following types of drivers, explained in detail later in this document, are recommended for achieving the optimal performance, reliability, and scalability goals:

  • User-mode drivers

  • Unidrv-based drivers

  • PostScript drivers

  • Drivers with the Designed for Windows logo

The following driver types should be avoided unless there are no other options:

  • Kernel-mode or Microsoft Windows NT 4.0 drivers

  • Monolithic drivers (that is, neither a Unidrv nor PostScript-based driver)

  • Drivers without the Designed for Windows logo (unsigned drivers)