Comment 39 for bug 463059

Revision history for this message
Dean Montgomery (dmonty) wrote :

Resolved this issue by lowering and creating custom DPI values.

Default DPI from foomatic postcript PPDs is usually 600 DPI or 1200 DPI. Ghostscript `pdftops` and `gs` both take a long time converting high DPI values. The 600 DPI also creates a large postscript file which in turn are slow over the network as well as slow spooling on the printer itself. Printers have low RAM & small CPU.

When I lowered DPI to 300 the print jobs were almost instantaneous. However the print quality was degraded.

I modified the PPD files for dozen or so laser printers and found that 400DPI is identical to 600DPI in terms of print quality. With our printers I found the "sweet spot" to be 350DPI for print quality and maximum speed.

To get custom "time/quality sweet spot" DPI values, you will need to edit your PPD file:
cp /etc/cups/ppd/MYPRINTER.ppd $HOME/
Edit MYPRINTER.ppd 'Resolution' section and add 350 and 400 DPI.

*DefaultResolution: 350x350dpi
*Resolution 150x150dpi/150x150 DPI: "<</HWResolution[150 150]>>setpagedevice"
*Resolution 300x300dpi/300x300 DPI: "<</HWResolution[300 300]>>setpagedevice"
*Resolution 350x350dpi/350x350 DPI: "<</HWResolution[350 350]>>setpagedevice"
*Resolution 400x400dpi/400x400 DPI: "<</HWResolution[400 400]>>setpagedevice"
*Resolution 600x600dpi/600x600 DPI: "<</HWResolution[600 600]>>setpagedevice"

You may want to update the ModelName, ShortNickName and NickName to indicate that this file has been modified.

You can then either use the web interface to upload your custom ppd file or copy it to /usr/local/share/ppd/MYPRINTER.ppd
Then restart cups service. Your custom PPD option will then appear in the pick-list when Modify Printer.

Once the PPD is installed then go to the Default Options to set the DPI Resolution. You may want to test the timing/quality for 300, 350, 400, 600. I had 2 printers where 300DPI quality was just as good as the 600 DPI.

If an end-user enjoys the long print delay so they can socialize at the printer - or enjoys burning CPU cycles imagining that their 1200dpi is actually "better quality", then all they have to do is increase the DPI setting on the print dialog before they send their job.