Monday, March 21, 2011

Hero of the day: Thomas Freitag

I've just commited a patch to Poppler made by Thomas Freitag that implements Pattern tilings in the Splash rendering backend (the one used by Okular) instead of falling back to the default Poppler::Gfx implementation. This means that for example for a pdf page that previously took 34 minutes to render, now renders in 250 msec. Not bad eh?

8 comments:

uetsah said...

Wow, 34 minutes? Thank god I never came across such PDF's...

ozzy said...

I just applied it on top of 0.16.3 and it works very well, thank you!

Giddie said...

Great work! This illustrates how much maintenance Splash really needs, though. Sadly, I don't think it could ever support subpixel rendering, for instance. (It would require significant work to the very core.)

I think the Cairo backend really needs to be made available in the Qt wrapper, so that the ancient Splash backend can be allowed to die its death (see https://github.com/giddie/poppler-qt4-cairo-backend/wiki).

I could really do with some help in convincing Poppler to merge the Qt Cairo wrapper and help me fix the last few issues :s

Albert Astals Cid said...

@Giddie: Stop spreading FUD my friend :-)

Giddie said...

Oh, I'm sorry. I didn't think it would be taken badly; certainly not as FUD. Please do remove if you think it's inappropriate.

Albert Astals Cid said...

Giddie: It is FUD because:
* "Illustrates how much maintenance Splash really needs", can you prove this?
* "I don't think it could ever support subpixel rendering", can you prove this?

So you are basically spreading things you can not prove to favor your Cairo code path in Qt.

Giddie said...

Well, I've dug deep into the code to see if it's possible, and tried several approaches. I spoke about it on the Poppler mailing list when I first presented the idea of a Qt-Cairo backend: http://lists.freedesktop.org/archives/poppler/2009-May/004749.html

I've still got some code lying around if you'd like to see it. Maybe I'm just missing something? If you can get subpixel rendering working in Splash, you'd be my hero!

Giddie said...

Ah! I only just twigged that you're the same guy who's already expressed such displeasure at the idea of merging a Cairo backend for Poppler. I wouldn't have bothered you again if I'd realised; sorry.