[poppler] Slow rendering of file with Type3 fonts

Jiri Klement jiri.klement at gmail.com
Tue Dec 18 09:39:39 PST 2007


Hi,

Rendering of file http://home.zcu.cz/~jklement/spolehlivost.pdf is
very slow using poppler with splash backend. (current version from
CVS). It takes about 6 seconds to render one page. I've profiled
poppler using valgrind and kcallgrind  to find out what takes so long.
You can get profile file here:
http://home.zcu.cz/~jklement/callgrind.out.3146.tar.bz2.

It seems that poppler first convert Type3 fonts to bitmaps and then
print them to the screen. But bounding box for fonts in this file is
1000x1000 which makes drawing font bitmaps very slow. KCallGrind shows
that poppler spends 95% of time in Splash::fillGlyph2. Why don't
poppler prints Type3 fonts directly?

Another suspicious thing is number of calls of SplashClip::test. Only
partialy clipped characters should call SplashClip::test, but it seem
that they're incorrectly detected. I think rect of glyph in glyph
space is compared with SplashClip in world space. Poppler spends 25%
of time in method SplashClip::test.

--
Jiri Klement


More information about the poppler mailing list