[poppler] Color conversion while rendering for printing

Albert Astals Cid aacid at kde.org
Wed Jun 13 21:18:05 UTC 2018

El dimarts, 12 de juny de 2018, a les 9:27:19 CEST, Carlos Garcia Campos va 
> 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.

I'd rather not make poppler smart and just add a parameter (unless you already 
have a "printing" parameter in the glib api) :D


> 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

More information about the poppler mailing list