[poppler] Understanding the rendering pipeline

Albert Astals Cid aacid at kde.org
Sun Oct 18 13:57:20 PDT 2009

A Divendres, 9 d'octubre de 2009, Tuom Larsen va escriure:
> Hello,
> I'm trying to read the sources but I'm not sure if I quite follow. Is this
> so far correct:
> - poppler reads a pdf, gets the number of pages
> - pick one page, locate xref, read its page object, retrieve the rest of
> objects and xobjects
> - if a command is found, binary-search for the right operator function and
> call it
> - ? (dump()?)
> - everything gets rendered to a memory buffer on init or view_set_page()
>  and bit-blipped to a window on expose event
> What I don't get is how and where are the operators rendered to the memory
> buffer? 

Well, each of the commands get called and this goes through the outputdev that 
"draws" things

> How gets a page state transformed to pixels?
By commands like "draw line"

> Is there performed a binary search for every command in pdf?

Yes, but it's actually cheap so don't bother optimizing that it'll give you a 
0.00000001% performance boost at most.



More information about the poppler mailing list