I wrote a PDF reader over the extended weekend. flaxpdf.tcz is posted for 6.x x86.
FlaxPDF is a fast, nice multithreaded PDF viewer for the desktop.
As long as there are more pages than cores, every core will get a workout.
Light on dependencies, trimming borders, and aggressive caching are
its major points. Okular and Evince are nice but heavy; and the point
for starting this project, ePDFview, is dead.
EPDFview was nice and light, but lacking in a couple ways:
- no caching, if you wanted to backtrack one page, it reloaded slowly
- no automatic zoom to content/trim
Now with my main PDF viewer being dead, why not build a fresh one with
those two itches scratched?
Poppler, LZO, and FLTK 1.3.
Evince 3.10.3, FlaxPDF 0.6.1 and ePDFview 0.1.8 were tested. The same
document was scrolled repeatedly to check the cpu usage, the binary size
was measured, as well as RAM use.
CPU RAM Binary
Evince 90% 56.8 MB 507 KB (evince + libpdfdocument.so)
ePDFView 72% 46.3 MB 124 KB
FlaxPDF 57% (5% *) 36.5 MB 45 KB
* To be fair to all, these measurements were done using the Vesa driver.
FlaxPDF, as the only one of the three, is able to take advantage of the GPU,
dropping its CPU use when scrolling to 5% (tested on radeon).
The site is still being designed, but flaxpdf.sf.net will be the location when done.
I should note that the old XVesa cannot run this, but Xorg and the newer TinyX servers can. (Which reminds me, I really should get the tinyX builds done - currently only x86_64 Xfbdev is the new one, x86 is still shipping both old ones...)
Being an aggressively caching reader, it is not suitable for very low-RAM systems, depending a lot on the document used. Text-only documents don't use much RAM, but picture-heavy ones may easily use over 100MB.