[Poppler-bugs] [Bug 68420] New: Cache lcms transformed values for ICC colorspaces in getRGB(), getCMYK() and getGray()

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Aug 22 03:15:22 PDT 2013


https://bugs.freedesktop.org/show_bug.cgi?id=68420

          Priority: medium
            Bug ID: 68420
          Assignee: poppler-bugs at lists.freedesktop.org
           Summary: Cache lcms transformed values for ICC colorspaces in
                    getRGB(), getCMYK() and getGray()
          Severity: enhancement
    Classification: Unclassified
                OS: All
          Reporter: Thomas.Freitag at alfa.de
          Hardware: Other
            Status: NEW
           Version: unspecified
         Component: general
           Product: poppler

Created attachment 84442
  --> https://bugs.freedesktop.org/attachment.cgi?id=84442&action=edit
PDF-X version of ducks & roses which illustrates the effect

In bug 66928 we speed up rendering of images in icc colorspaces with the usage
of getRGBLine() instead of getRGB() for images. But this will not help for PDF,
where shadings are in icc colorspaces.
I created a sample PDF from ducks & roses, which uses a lot of shadings, which
I attach here. 
Without caching already transformed values we have the following result:

time ./utils/pdftoppm -png -cropbox bugzilla/iducksNroses1.pdf  output/ducks

real    0m6.395s
user    0m5.928s
sys    0m0.020s

and it uses 852,840,264 bytes (measured with valgrind).

With a simple cache we can increase that speed:

time ./utils/pdftoppm -png -cropbox bugzilla/iducksNroses1.pdf  output/ducks

real    0m3.367s
user    0m3.284s
sys    0m0.048s

without using much more memory: 853,832,752 bytes

If You're interested, I'll create a patch after bug 66928 and bug 34053 will be
closed.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/poppler-bugs/attachments/20130822/e104b849/attachment.html>


More information about the Poppler-bugs mailing list