[poppler] Re: poppler profiling on geode with cairo backend

Jeff Muizelaar jeff at infidigm.net
Wed Nov 8 18:51:36 PST 2006

On Wed, Nov 08, 2006 at 11:02:34AM +0100, Tomeu Vizoso wrote:
> Hi,
> this is the sysprof result of rendering several pages on evince, each
> taking approx. 4 seconds.
> It would be great if you found any opportunity to improve the
> performance of the cairo backend on this particular case (for example
> using less expensive operations than compositing).

So I had a look at why pixman_compositeGeneral is being hit during text
rendering. It looks like this gets called for text when the document is
being rendered at weird scaling factors. 

For example with the pdf you provided: calling
  poppler_page_render_to_pixbuf(..., scale=1.0, ...)
does not trigger any calls to pixman_compositeGeneral. Neither does:
  poppler_page_render_to_pixbuf(..., scale=2.0, ...)

  poppler_page_render_to_pixbuf(..., scale=0.5, ...)
does. As does:
  poppler_page_render_to_pixbuf(..., scale=1.1, ...)

I will follow up with the cairo people about why this happens and if
anything can be done to improve the situation. In the mean time it may
be possible to work around the problem by avoiding bad scaling factors.


More information about the poppler mailing list