[bit.listserv.sas-l] SAS/GRAPH and HP LaserJet

MARSH@NCSUSTAT.BITNET (02/08/90)

A bit more followup on using the HP LaserJet as a plotter:

Phil Miller sent in a query regarding the time to produce a complex
plot that had lots of solids.  He went on to relate that in his
experience using a HP LaserJet in a PGL (the language of HP bed
plotters) emulation mode that the speed of the HPLJ is a
nontrivial limiting factor.

Well, I can not comment about solid fills. since my graphs generally
do not use many of those beasts.  His reservation probably is well
founded.  However, when using a HPLJ as an output device for
SAS/GRAPH, you have to remember that there are three parts to
generating the graph: (1) have SAS/GRAPH build the graph, (2) transmit
the graph to the HPLJ, and (3) have the HPLJ produce the hardcopy.
Using tools such as PrintAPlot and PlotterInACartridge attack the
first two parts.  There is no doubt that SAS/GRAPH can generate
a vectorized graph (PGL) graph much faster than a rasterized graph
(PCL - the native of the HPLJ).
Second, vectorized images tend to be (much) smaller than rasterized
images, so it follows that the transmittal time will be a lot less.
Even including the time needed for HPLJ (part 3) to make the hardcopy,
some very significant speed increases can be seen.

Joe Svec also sent in an additional query asking if PlotterInACartridge
may not be better than PrintAPlot
since it accepts the bed plotter commands directly
and does not have to "translate" the graphics data into a form
useable by the HPLJ.  Well, both products translate - you are
converting PGL into PCL.  The benchmarks I have run show that
time differences between the two products to produce hardcopy
is insignificant.  Is PlotterInACartridge worth the extra money?
Perhaps.  PlotterInACartridge is fairly transparent to the user.
Merely insert the cartridge, tell SAS/GRAPH that the output
device is a bed plotter (e.g., DEVICE = HP7475A), and away you
go.  With PrintAPlot, you still tell SAS/GRAPH that you are using
a bed plotter but you must spool your output to disk. After
the graph is generated, you leave (temporarily or not) SAS and run
PrintAPlot - thank God the program does not need much RAM so that
you merely have to shell out of SAS.  After the hardcopy is produced,
you can reenter SAS.

My general experience with the aforementioned tools is that as
the plot gets more complex, the time saved producing the hardcopy
graph is even more significant.  I have seen improvements on the
order of 6000% (yes, 60 times faster).