Closed Bug 427171 Opened 12 years ago Closed 12 years ago

Printing to PostScript B&W printer is SLOW!

Categories

(Firefox :: General, defect, major)

x86
Linux
defect
Not set
major

Tracking

()

RESOLVED FIXED

People

(Reporter: jcea, Unassigned)

References

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9pre) Gecko/2008040404 Minefield/3.0pre
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9pre) Gecko/2008040404 Minefield/3.0pre

With the migration to GNOME printer dialog, Firefox has lost the option to print in greyscale.

When printing color graphics to a Postscript B&W printer, the printer receives the color data and must internally convert that to B&W.

This process is SLOW!. Very slow.

I would say this issue is a regression. Printing performance with "old" printers are abysmal compared with Firefox 2 (because FF2 can generate greyscale output).

Reproducible: Always

Steps to Reproduce:
1.Display a big photo image in firefox
2.Print it to a B&W postscript printer
3.The print will be VERY slow
Actual Results:  
Print result is fine, but VERY slow. I need about 20 minutes to print a single page with color graphics, to an old HP 4000N printer. With a full graphic page, the time is measured in hours!.

Expected Results:  
Fast (relatively) printing. At least as fast than Firefox 2. Better if improved more, actually.

The issue is obvious in current build of Firefox3, because we lost ability to choose "greyscale" output. Printing performance in Firefox2 is similar if we choose "color" output instead of "greyscale" one.

I propose to add again the "greyscale" mode. Since GNOME printing has not that option, I would be happy to have a hidden (per-printer) preference in Firefox.

Would be very nice if we could have also "halftone" modes. This printer (HP 4000N) uses halftones internally, actually, and printing under MS Windows is lighting fast because the driver chews the color data and send to printer direct halftone data. Performance improvement is stunning, reaching 17 pages per minute, instead of printing a page per 45 minutes!.

I know I might convert postscript data via a CUPS filter, but I'm unable to find a color->greyscale/halftone filter. Help appreciated.

I know my printer is very old, but it is rock solid and it is easily found still, refurbished, out there. Example (first hit in Google): http://www.printertechs.com/printer/refurbished-hp-laserjet-4000N.php

Please, don't leave us alone in the cold!.
Version: unspecified → Trunk
(In reply to comment #0)
> I would say this issue is a regression. Printing performance with "old"
> printers are abysmal compared with Firefox 2 (because FF2 can generate
> greyscale output).

What is the difference in printing speed between selecting color or grayscale in Firefox 2?

> I know I might convert postscript data via a CUPS filter, but I'm unable to
> find a color->greyscale/halftone filter. Help appreciated.

There should be a way to get CUPS to filter the PostScript. It may depend on finding the right .ppd file. You could try using the ps2ps utility included with ghostscript to filter the PostScript.

> I know my printer is very old, but it is rock solid and it is easily found
> still, refurbished, out there. Example (first hit in Google):
> http://www.printertechs.com/printer/refurbished-hp-laserjet-4000N.php
> 
> Please, don't leave us alone in the cold!.

I am very interested in improving the quality of cairo's PostScript output. I would need to see the PostScript output you are getting as well as the PostScript output from Firefox 2 to see what can be done to improve the printing speed. The first thing to check is if fallback images are causing the slowdown. See bug 422556. 

Cairo does not currently have the API to specify grayscale printing although if Firefox converted images to grayscale, code could be added to cairo to embed grayscale images as grayscale instead of embedding everything as color.
Printing a small single image, 461x345 pixels. The reference image, If you wnat to know, is http://www.argo.es/~jcea/pics/rosaledademadrid2006-2/dsc01615.jpg?preview=1

Time is measured since job entering the CUPS queue to printer starting to print.

Firefox 2, color mode: 33 seconds

Firefox 2, greyscale mode: 13 seconds

Firefox 3: 661 seconds (ugh!)

Firefox 3, PCL mode: <3 seconds (I wrote the CUPS filter myself last friday, tired of this issue. I learned more about CUPS that I would like to know :-)

I guess you can compare PS output in both programs yourself. Simply choose a reference image and print to file.

If you rather prefer I post the PS output, please, tell me the maximum filesize for bugzilla :).
(In reply to comment #2)
> Printing a small single image, 461x345 pixels. The reference image, If you wnat
> to know, is
> http://www.argo.es/~jcea/pics/rosaledademadrid2006-2/dsc01615.jpg?preview=1

I printed this page with the firefox nightly build from 2008-04-06 and can see what the problem is. The image is stored as a PostScript string instead of embedded inline using the  currentfile operator. It took about 27 minutes to print on my LaserJet 4050.

This problem has already been fixed in cairo. Cairo 1.5.10 contains this fix for EXTEND_NONE patterns. After noticing that firefox must be using EXTEND_PAD to print images, I fixed the problem for EXTEND_PAD patterns as well. Cairo 1.5.14 is the first version that has this fix for EXTEND_PAD.

The latest nightly build of firefox is using cairo 1.5.12. This problem will be fixed when firefox upgrades to the lastest cairo. See bug 419715.
That will be a huge improvement, for sure.

But the printing speed difference between color and greyscale is still very significant. And FF3 has no way to print in greyscale, since migration to GNOME printer dialog box... This speed hit will be a shame compared with FF2.
That upgrade just went in, so we should have adrian's patch in here now.
Status: UNCONFIRMED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Pluging a PS->PCL driver in CUPS. maybe somebody find this useful, although the text is written in spanish: http://www.argo.es/~jcea/artic/firefox3_2.htm

New performance round: (same image)

Firefox 2, color mode: 33 seconds

Firefox 2, greyscale mode: 13 seconds

Firefox 3: 7 seconds (huge improvement!!)

Firefox 3, PCL mode: <3 seconds (see given URL)
You need to log in before you can comment on or make changes to this bug.