[poppler] about patterns
Leonard Rosenthol
leonardr at pdfsages.com
Sun Aug 20 15:20:44 PDT 2006
At 09:15 AM 8/20/2006, Rafael Rodríguez wrote:
> > Tiling patterns are pretty simple - you
> > simply "replay" the pattern each time with
> > appropriate transformation handling.
>
>So it's all about looping in X and Y and modifying the needed transformation
>matrix (state->concatCTM() and out->updateCTM()) everytime I find a painting
>operator inside the pattern stream?
Well, you determine the "bounding box"
of the pattern and then start looping to play it
back as many times as necessary (in whatever x/y
locs are required) in order to have it fill the entire specified "shape".
> > 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.
>
>What's a display list architecture? Any place where i can read about it?
A Google search didn't turn up a
description of it, though lots of uses of the phrase.
The idea, which has been around FOREVER
in both 2D and 3D rendering engines is that in
order to improve performance you first parse the
commands into actual "objects" that form a list
of the operations to render/display - hence the term "display list".
In order to improve performance, esp.
when zooming, doing thumbs, etc Acrobat does just
this - building an "object tree" of the commands
and then plays them back (in many cases also
caching the results). This offers significant
rendering improvements (no parsing, organized
objects, e3tc.) but does increase memory requirements.
>Maybe i'm wrong, but the attached one-page pdf file doesn't render right with
>poppler from CVS (using test-poppler-qt4).
Well, at the moment, I can't get it to
render at all :(. But I don't have a current
build...need to try later with updated code.
LDR
---------------------------------------------------------------------------
Leonard Rosenthol <mailto:leonardr at pdfsages.com>
Chief Technical Officer <http://www.pdfsages.com>
PDF Sages, Inc. 215-938-7080 (voice)
215-938-0880 (fax)
More information about the poppler
mailing list