[poppler] Color conversion while rendering for printing

Carlos Garcia Campos carlosgc at gnome.org
Tue Jun 12 07:27:19 UTC 2018

William Bader <williambader at hotmail.com> writes:

> ghostscript had a similar issue with performance, and they added a -dUseFastColor to bypass ICC lookups.  https://www.ghostscript.com/doc/9.23/Use.htm#EPS_parameters

We can only disable it at build type, maybe we can simply add an
specific option to disable it at runtime, instead of making it depend on
printing option.

> They are also working on a fork of LCMS that is faster and thread-safe. https://www.ghostscript.com/doc/9.23/History9.htm#Version9.23

Great news.

> I think that only the final application to process the file should apply the color conversion. Viewers know that they are the final application. When poppler renders a document, it doesn't know if the results will be sent to another application, to a printer that will apply its own color conversion, or to a printer that will output it directly. That might be another reason to make it optional.

I agree, that's why I thought that maybe while printing, which is
something poppler knows, could make sense to disable it.

Replying to Leonard here too (I've seen his message in the list
archives, but for some reason I haven't received the email). When
rendering for printing, at least in the cairo backend, we just changes a
few things like not doing any stroke adjustment, line with adjustments,
image downscaling, etc. In the case of image streams, instead of
rasterizing them, we try to add the stream data directly to the
destination surface (it could be a pdf, ps or svg), but cairo always
uses DeviceRGB for ICCBased, so even if the printer supported ICC it
wouldn't use it anyway. So, in the end, a specific option to disable ICC
at runtime makes more sense than using the printing one.

> William
> ________________________________
> From: poppler <poppler-bounces at lists.freedesktop.org> on behalf of Carlos Garcia Campos <carlosgc at gnome.org>
> Sent: Monday, June 11, 2018 9:10 AM
> To: poppler at lists.freedesktop.org
> Subject: [poppler] Color conversion while rendering for printing
> Hi,
> does it make sense to do color conversions using CMS while rendering
> document for printing? I don't know much about CMS, I'm asking because
> libcms is very very slow in some documents. When rendering individual
> pages like viewers do, the slowdown is not that noticeable, but when
> printing an entire document the slowdown is very annoying. I think we
> could use the existing printing flag we pass when creating the GfxState
> to not use CMS.
> Thanks,
> --
> Carlos Garcia Campos
> PGP key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x523E6462
> _______________________________________________
> poppler mailing list
> poppler at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/poppler

Carlos Garcia Campos
PGP key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x523E6462
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/poppler/attachments/20180612/3655e148/attachment.sig>

More information about the poppler mailing list