[gs-bugs] [Bug 689885] Feature Request for runtime selectable cups raster write mode

bugzilla-daemon at ghostscript.com bugzilla-daemon at ghostscript.com
Mon Jul 5 17:28:32 UTC 2010


http://bugs.ghostscript.com/show_bug.cgi?id=689885

--- Comment #7 from Heino Goldenstein <heino.goldenstein at microplex.de> 2010-07-05 17:28:30 UTC ---
Hi,
to explain the request a little bit more:

This is the situation now for e.g. ps data and PCL printer:
       ----------------------------------------
      | ---------------          ------------- |           ---------
----> || pstoraster    | -----> | rastertohp  || -------> | Printer |
print || (cups-raster) | ver. 3 | (PCL)       || ethernet | (PCL)   |
data  || ver. 1 or     |        | generate    || link to   ---------
      || ver. 2 or     |        | Page-       || printer
      || ver. 3        |        | Description ||
      | ---------------          ------------- | PCL-stream
      | CUPS-SERVER                            |
       ----------------------------------------

As pstoraster and rastertohp reside on the same host cups-raster
version 3 is the right thing to do (tm). Compression in pstoraster and
decompression in rastertohp as interchangeformat (cups-raster version 2)
will decrease the performance since the connection between the both
drivers should be reasonable fast. The PCL-stream can be compressed
to get the best performance over the ethernet link.
This can be controlled for rastertohp with the "cupsCompression" parameter
in the ppd.

This is our situation for e.g. ps data and IDOL-Printer with cups-raster
emulation:
Since the rastertoidol script is mainly only a copy operation of the
cups-raster
data, the data is transferred over the ethernet link as is. For large pagesizes
the ethernet bandwith is an aspect for the performance. So the right thing to
do (tm) here is to use cups-raster version 2.
The code to do this is already there. To prove this I created the patch in
comment#3.

       ------------------------------------------
      | ---------------          --------------- |           ---------------
----> || pstoraster    | -----> | rastertoidol  || -------> | IDOL-Printer  |
print || (cups-raster) | ver. 2 | (cups-raster) || ethernet | (cups-raster) |
data  || ver. 1 or     |        |  cat "FILE"   || link to  | ver. 1 or     |
      || ver. 2 or     |         --------------- | printer  | ver. 2 or     |
      || ver. 3        |                         |          | ver. 3        |
      | ---------------                          |           ---------------
      | CUPS-SERVER                              | cups-raster-stream
       ------------------------------------------
             ^
             |  *.ppd 
        ----------------------------------
       | ...                              |
       | *cupsRasterWriteCompressed: True |
       | ...                              |
        ----------------------------------

Because the hardcoded value for the cups-raster format only either the
IDOL-Printer or the rastertohp will be working at best performance.
The right thing to do (tm) here is to have a parameter defined for
the ppd to be able to set it for the requested printer. 
Since I don`t know the source of the ghostscript code very well I started
this RFC to get any pointers how to start, but there was no response
till now.
Maybe it is even better to have a parameter to set the used cups-raster
version.

So the only missing part is having a ppd parameter and make the line
from the patch in comment#3 depending on it. The default has to be
set to output cups-raster version 3.

Do you have any thoughts?

Many thanks in advance.
  Heino

-- 
Configure bugmail: http://bugs.ghostscript.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the gs-bugs mailing list