[poppler] pdf rendering performance on the olpc test boards
tomeu at tomeuvizoso.net
Wed Nov 8 01:51:44 PST 2006
On Tue, 2006-11-07 at 20:22 -0500, Jeff Muizelaar wrote:
> On Tue, Nov 07, 2006 at 12:46:28PM -0500, Jeff Muizelaar wrote:
> > On Tue, Nov 07, 2006 at 06:11:50PM +0100, Tomeu Vizoso wrote:
> > > After some profiling of page rendering on the board with sysprof, this
> > > functions appeared using 45% of CPU time:
> > >
> > > _XcmsLookupColorName
> > > _XcmsSetGetColors
> > > _XcmsInitScrnInfo
> > > _XcmsResolveColorString
> > I have never seen these functions at the top of a profile. I wonder what
> > is causing them to be there?
> > >
> > > We are currently using the 0.5.4 version with the cairo backend. The
> > > processor on the board is a Geode GX-500 , the floating point
> > > performance of which is quite poor. Composition is currently done by
> > > software.
> > >
> > > Does this info make some sense to anybody? Is poppler who is eating our
> > > CPU or should we look elsewhere? Can you recommend any compilation
> > > options that could improve performance?
> > >
> > > I can send the sysprof file, if anyone is interested in giving a look.
> > I'd be interested in the sysprof file.
> It doesn't look like you are profiling the right thing. The sysprof you
> gave me doesn't seem to have anything to do with poppler. i.e. The
> functions you listed above are called by gobject_message_function by a
> python program.
I must recognise that I neither understand why those functions appear on
I'm sending you (in another mail) another profiling done on the board
with the cairo backend. It looks more as expected, with most of the CPU
time expended on Gfx::display and Page::createGfx.
We are thinking that at least part of the problem is our slow
implementation of compositing on the olpc, but we also wonder if
poppler's usage of cairo makes more use of compositing that is needed.
Now we are using the splash backend with reasonable performance, but
would like to know if we would be able to switch again to the cairo
backend with enough performance in the future.
More information about the poppler