From: aki@akix.UUCP (Aki Atoji)
Subject: Re: HP Paintjet XL300
Organization: CxS Technologies
Date: Sat, 10 Oct 1992 22:07:12 GMT


In article <92282.101211FNOTMAN@ESTEC.BITNET> <FNOTMAN@ESTEC.BITNET> writes:

>>NO. The printer is a PAGE printer, it thus needs to build a FULL PAGE image in
>>memory. The printer Language (PCL5C) allows commands such as move the cursor
>>to the bottom right corner and put a dot. There is no way the printer can
>>assume the next command isn't to move to top-left and put another dot, AND, as
>>these types of printers are not able to back-space the paper, it must have
>>sufficient memory to continue page-building until it gets the page eject before
>>committing anything to paper.
>> 

[stuff deleted]

>>An A3 page in Black takes about 1.8 MB, the same in colour would require
>>either 3 or 4 times as much (I don't off-hand know how many colours of ink, I.E
>>wether it has true black, it uses). And that excludes any temporary Font
>>storage and other working memory it may (or may not) require.

You are right that he needs more memory, but I think there may be a
misconception.

A bitmap, whether it contains graphics, text, or even a blank,
requires the same amount of memory for the same size of paper no
matter if the input is PCL4, PCL5, ASCII, PostScript or raster.

Provided with that, if a printer cannot construct a page with graphic
image because it needs a full page worth of bitmap to construct a page,
then the same would be true for text pages, or even a simple graphics
page.  This isn't so.

Most printers (at least the smart implementations, anyways) do away
with having less than bitmap memory by building some sort of display
list which can be parsed and rasterized on the fly as the page goes
through the engine.  Since these display lists need to execute fast,
they can't be very complex in operation (meaning it is primitive), and
tends to take up memory, especially for heavy graphics with complex
curves.  Once the curves get complex, the list tends to degenrate into
a series of 'place dot here'.  The same happens if you try to print a
raster image for obvious reasons.

Text operations take less amount of display list to express since the
operation is rather simple: fonts are drawn in the cache as they are
identified in the PDL input, and display list simply says to
Bitblt the font from cache to output band on the fly.

But since the display list can keep on growing for a page dependent on
the complexity, somewhere along the line, you will run out of memory.

I've worked on laser printers which did build complete pages before it
was output to the engine.  But it also contained more memory than your
average workstation, especially if you wanted full page recovery of
duplex jobs on a big laser engine.  It worked well (at least the part
*I* worked on :) , but...

There are people out there who has fairly optimized display list setup
which will draw complex pages with minimal memory, using hardware or
software solutions.  I've seen fairly complex graphic pages print with
only 512KB of total RAM on such machines.  But you *do* run of memory
eventually.

-- 
---------------------------------------------------------------------------
Aki Atoji              Unix, X, Networking and Embedded Realtime Consulting
           aki@akix.uucp                      crash!akix!aki@trout.nosc.mil
---------------------------------------------------------------------------
Newsgroups: comp.periphs.printers