At 05:54 AM 8/19/2006, Rafael Rodríguez wrote:
for those who don't know, i'm the one with the SoK kpdf/okular project:

        I didn't - thanks for the link.


I'm having a really hard time in understanding the not very much commented
code handling tiling patterns in Gfx.cc. Is this code inherited from kpdf, or
has it been touched by any of you?

        AFAIK, it's still 100% the original Xpdf sources.

What don't you understand? (and I assume you've read the relevant sections of the PDF Reference, yes).

Tiling patterns are pretty simple - you simply "replay" the pattern each time with appropriate transformation handling. That's probably one reason for the performance problems - - Xpdf doesn't cache anything nor does it use a "display list architecture", while Acrobat does both. So in the case of a tiled pattern, Xpdf must reparse and rerender each time.

Replacing Xpdf with a DL-based architecture would be a MAJOR piece of work - BUT you might be able to find a way to cache a one rendered instance of the pattern and simply blit that multiple times. Be aware that some of the keys in the /Pattern dictionary may have values that preclude simple caching/blitting schemes...but you could at least handle the simple cases for a start.


At first I thought that the code about patterns was supposed to work and it
only needed optimization, but I've discovered that it doesn't. I can attach a
one page pdf file if you want (~126 kb) which isn't rendered fine.

Please do, as I have not seen a case where it renders incorrectly - and I've been working with Xpdf for almost 10 years now.


Leonard

---------------------------------------------------------------------------
Leonard Rosenthol                            <mailto:[EMAIL PROTECTED]>
Chief Technical Officer                      <http://www.pdfsages.com>
PDF Sages, Inc.                              215-938-7080 (voice)
                                             215-938-0880 (fax)

_______________________________________________
poppler mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to