[comp.windows.misc] MS Windows and HP Paintjet

pcb@usl.usl.edu (Peter C. Bahrs) (10/20/88)

When we use the PAINJET driver in MS Windows in a graphics application,
it is VERY slow; thus the performance of all jobs slows down.

We are making some complicated graphics drawings mainly using line, move and
text commands.  When we need to print out the picture, we are banding within
the code.  Therefore, we must draw everything repeatedly and everything
gets clipped to the band and sent to the spooler.

We get great performance with the HP Plotter Drivers, TI 855 drivers,...
but the PAINTJET driver is so slow.  I know the printer is not that smart,
i.e. no vector commands.  The only capabilities that we can notice from
writing a device capabilities program is the support for bit maps.

I wonder if we should create our drawing once and save it in a bit map and
play the bit map to the spooler?  This will of course be a huge bit map .
But I think this will adversely affect the Plotter performance?

Does anyone know how to speed up the performance of the HP PaintJet??

Thanks in advance.
pcb@usl.usl.edu
 csnet

mcdonald@uxe.cso.uiuc.edu (10/21/88)

>Does anyone know how to speed up the performance of the HP PaintJet??
Yes. Rewrite the code in its ROM's so that is works efficiently.
The code was written by HP so that it was intentionally slow, so
as not to cut into the market for Laser-Jets. This process is called
"crippling" and has been developed to a high art by large computer
companies.

Also, rewrite Windows graphics system so that it is not so slow.
Most printing operations are grotesquely slow.

bturner@hpcvlx.HP.COM (Bill Turner) (10/28/88)

>>Does anyone know how to speed up the performance of the HP PaintJet??
>
> Yes. Rewrite the code in its ROM's so that is works efficiently.
> The code was written by HP so that it was intentionally slow, so
> as not to cut into the market for Laser-Jets. This process is called
> "crippling" and has been developed to a high art by large computer
> companies.

First, I seriously doubt this, and second, its quite close to libelous.

Most likely, performance problems with printers under MS Windows are 
due to the printer driver for Windows.  Especially if the slowdown is
in the graphics area (I'm assuming that text output is acceptable?).
The problem is that the way MSW does graphics to a device such as the
PaintJet (or LaserJet, for that matter) is to divide the page into
"bnads", then replay the *entire* drawing through each of these bands.
So, if there are 10 bands on a page, the drawing is repainted 10 times.

It is possible to bypass the printer driver and do the banding to the
printer yourself.  Or, if you're hardcore, you can write your own 
printer driver (Microsoft has [had?] a printer driver's kit; contact
Gabe Newell for more information).

CAVEAT:  I haven't seen the PaintJet run, either direct from the PC or
from Windows, so I can't say much about the performance.  I have seen
other printers slowed down by poorly written drivers for MSW, but I
don't know if this is really the problem.

--Bill Turner

pcb@usl.usl.edu (Peter C. Bahrs) (10/30/88)

In article <102040005@hpcvlx.HP.COM>, bturner@hpcvlx.HP.COM (Bill Turner) writes:
> >>Does anyone know how to speed up the performance of the HP PaintJet??
> >
> > Yes. Rewrite the code in its ROM's so that is works efficiently.
> > The code was written by HP so that it was intentionally slow, so
> > as not to cut into the market for Laser-Jets. This process is called
> > "crippling" and has been developed to a high art by large computer
> > companies.
> 
> First, I seriously doubt this, and second, its quite close to libelous.
> 
> CAVEAT:  I haven't seen the PaintJet run, either direct from the PC or
> from Windows, so I can't say much about the performance.  I have seen
> other printers slowed down by poorly written drivers for MSW, but I
> don't know if this is really the problem.

We have used the TI 85x series of printers, Canon 8x series, HP Plotters: 7475..., various generic text printers, HP LaserJet, Epsons, Okidatas, et. al and
the PaintJet driver is indeed the slowest (the output is still great).
At times it appears to a naive user (or better put: a user familiar with the
above hardware) that the system has a problem due to the extended waiting
period.  Hmmm...?

The driver we are using is from Micrografx (not HP); the second release.
We have nothing but good things to say about MGFX and their products and
I would expect that they wouldn't intentionally 'slow' down the
performance of a system; what have they to gain.

?????
pcb@usl.usl.edu

bturner@hpcvlx.HP.COM (Bill Turner) (11/02/88)

This is reposted from an HP notesgroup.  The name of the author has been
removed to protect them  (if you want to flame the author, I'll take the
heat...)  Some text has been deleted.

----------

[Text describing problem deleted]

I handled the lab end of providing the Windows Drivers for PaintJet and
Plotters, plus the PJ softfonts.

The biggest performance problem with PaintJet under Windows is that the
vector-to-raster converter in Windows' GDI is the PITS!  Since PaintJet
only does text and raster, all application calls to GDI graphics
routines (vectors, polygons, and stroked out fonts) are passed by the
driver to GDI's VRC.  And, get this, it sends the resulting raster to
the driver ONE PIXEL AT A TIME.  We discovered this when the driver
writer accidentally gave us a version with debugging turned on, and the
LaserJet attached to com1 produced a ream of paper with one line per
driver interface call, the overwhelming majority of which were SET
PIXEL.    (aaargh!)

>
>We get great performance with the HP Plotter Drivers, TI 855 drivers,...
>but the PAINTJET driver is so slow.  I know the printer is not that smart,
>i.e. no vector commands.  The only capabilities that we can notice from
>writing a device capabilities program is the support for bit maps.
>
>I wonder if we should create our drawing once and save it in a bit map and
>play the bit map to the spooler?  This will of course be a huge bit map .
>But I think this will adversely affect the Plotter performance?
>

Plotters don't use bitmaps, you've got to use vector/polygon calls to
do your graphics.  He could check whether the current output device
is a PaintJet and do his own implementation of the GDI VRC code,
but that's pretty extreme.

One thing that concerns me is that he's banding the picture - Windows
also does banding, and so does the driver, so there may be some
mismatch going on.

I can suggest he use internal fonts whenever possible, to speed up the
text (if the Courier 10, Letter Gothic 12 and Letter Gothic 18 will
satisfy his needs).

For some applications, turning the spooler off helps; for others it
hurts - try it and see.

[more text deleted]

>Yes. Rewrite the code in its ROM's so that is works efficiently.  
>The code was written by HP so that it was intentionally slow, so 
>as not to cut into the market for Laser-Jets. This process is called 
>"crippling" and has been developed to a high art by large computer 
>companies.

Patently untrue.  Fact is, significant price/performance tradeoffs
were made, and (as usual) we did the best we could within the
constraints we had.  

I can only speak from personal experience, but after 9+ years working
at [name of lab], I have yet to see or even hear rumors about a single
instance of deliberately crippling a device by writing inefficient
code.  This is not to say that we can't improve our devices, or that
every engineer who has ever written code is the most expert at it that
he/she could have been (ever go back and look at code you wrote 5 or 10
years ago?  yes, I thought so - you can stop gurgling now... ;@)

I deliberately refrained from replying to this silliness on the net.
You have to remember that there are a significant number of paraoids
with wild-eyed conspiracy theories running around posting things, and
even some normally reasonable people who tend to flame and run off at
the mouth when posting on usenet (it has this weird effect on people -
do you think AT&T designed it that way to drive competitors mad?  only
joking ;@)  This person is also showing their ignorance, in that the
market for a monchromatic 300 dpi machine with font cartridges,
download capability, and advanced PCL features has very little overlap
with the market for a colour 180 dpi machine with a small subset of the
PCL capabilities of a LJ.

If one of you guys who has been trained to talk nice to the customers
wants to sanitize my words and post 'em to the net or reply to this
guy, feel free.  As a labbie, I'd rather stay out of it!

[Well, I'm not trained for this, but I thought I'd let it go through
pretty much as is...]

>Also, rewrite Windows graphics system so that it is not so slow.
>Most printing operations are grotesquely slow.

I'll second that!