LaserWriter 8: LPR Printing May Be Slower Than AppleTalk

Print jobs sent over TCP/IP using the LPR protocol take longer to print than those sent over AppleTalk.
This article has been archived and is no longer updated by Apple.
LaserWriter 8 version 8.5.1 and later, includes an IP printing feature. This allows you to use the LPR protocol to print to many Apple LaserWriter printers over IP. The LaserWriter driver uses the LPR protocol to send PostScript print jobs to IP-enabled printers, allowing network administrators to integrate Apple LaserWriter printers into IP-only networks.

In most environments, printing over AppleTalk is the preferred network protocol for printing to PostScript printers. When using the LPR protocol, there are four situations that may cause print jobs sent over TCP/IP to take longer to print than those sent over AppleTalk. They are outlined below.

Situation 1
Printing is slower if MacIP is selected as the network connection instead of Ethernet in the TCP/IP control panel. Certain physical networks and dialup networking protocols, notably LocalTalk and Apple Remote Access Protocol (ARAP)-for dial up connections-cannot transmit TCP/IP. To allow TCP/IP connectivity over these networks, MacIP tunnels (wraps) the IP packets within AppleTalk packets so they can be transmitted across non-TCP/IP networks. The AppleTalk packets are received by a MacIP gateway that forwards the unwrapped IP packets to the destination.

Open the TCP/IP control panel and look the "Connect via" pop-up menu. If MacIP is selected then your print jobs are going from TCP/IP to AppleTalk and back to TCP/IP again. This requires additional time. If your network connection is not over LocalTalk or ARAP, then you should be able to set the "Connect via" pop-up menu to Ethernet to speed up communication.

Situation 2
Print jobs may take longer if you print to a print queue on a print server instead of printing directly to a printer. For optimal print performance, make sure your desktop printer is configured to print directly to the printer.

Situation 3
AppleTalk print jobs are optimized, and therefore smaller, so they require less time to be transmitted and processed by the printer.

At the beginning of each AppleTalk print job, the LaserWriter 8 driver opens a network connection to the printer and sends a query job to determine:
  • PostScript language level compatibility (PostScript Level 1, 2 or 3)
  • available file format (binary, ASCII)
  • installed fonts

The LaserWriter driver uses the information it receives from the printer to optimize the AppleTalk print job. The LPR protocol cannot use this PostScript "backchannel" query mechanism. Because it does not know all of the printer's characteristics, the driver must make conservative assumptions about the printer's print and communications capabilities when creating a print job. This results in a print job that takes longer to transmit and print, but one that is more universally compatible.

In LaserWriter 8 version 8.7, which is part of Mac OS 9, LPR printer compatibility was enhanced. LaserWriter 8.7 examines the PPD file selected for your desktop printer to learn the printer's characteristics. The PPD includes information such as which fonts are present in the printer's ROM, if the printer has or is capable of using a TrueType rasterizer, if is it a color device, what product it is, its print resolution, its PostScript version, and what language level it can use. With this information, the LaserWriter 8.7 driver builds a more fully optimized LPR print job than earlier versions of the LaserWriter 8 driver. Despite this, an AppleTalk print job may be optimized to an even greater extent because of this protocol's use of the PostScript backchannel.

Situation 4
When the LaserWriter 8 driver prints over AppleTalk, it builds a print job using the full range of the possible eight-bit binary numbers, having a range of 0 to 255 possible byte values. Since not all printers work with this full binary range, only bytes in the ASCII range, 0 to 127, are used to insure compatibility under LPR, and many low control codes are avoided as well. Print jobs built using only values 0 to 127 are larger than print jobs that use the full range, and they take longer to transmit and process.
Published Date: Feb 20, 2012