cpu usage - pdf viewer / reader with multi-core support?

08
2014-07
  • erik

    Which pdf reader/viewer supports more than one core to render and search through pdf files?

    • evince does not
    • okular does not
    • Adobe Reader does not
    • Xpdf crashes on all my tested pdf documents (scientific papers and presentations) ⇒ does not
    • epdfview is unbearable slow and only uses one core ⇒ does not
    • qpdfview does not
    • inkscape does not

    If none in the entire universe does (use more than one CPU core), why not?

    I mean: Is there an intrinsic reason, why pdf documents can’t be rendered in parallel?

    I am on a linux machine. Should I use Windows or Mac OS or whatever to find a multi-core pdf-viewer?

  • Answers
  • erik

    Well, I don’t know about Adobe. But the free software viewers use Poppler to render and display pdf files.

    I have just found this bug report (which was fixed after half a year) about thread safety. That means: From January 2013 on the viewers should be able to render multiple pages at a time (if implemented in the viewer, poppler now does support this). Rendering of all pages one a dual core machine only takes 58% of the time a single core machine would need.

    The second bug report is about multi-threaded rendering of each page. This second bug is still open and not accepted or worked on. If this second “bug” would be fixed, then rendering would become even faster. Especially for complex documents with few pages or if you don’t want to wait long for the first page to be displayed.

    For very complex single paged documents I tried to use Inkscape. But as of this bug report from 2008, Inkscape is now (since 2012) using multiple threads for rendering filters. But not yet for the rest of the application, e.g. zooming in and out. Inkscape uses — like Poppler does — Cairo for rendering. That means until Cairo isn’t multi-threading capable, the per-page-rendering wont speed up using multiple threads separated over many cores.

    In January 2013 someone started working on this (cairo multi-threaded image rendering).


    About Adobe: Lets see who is faster in releasing the multi-threaded viewers.


  • Related Question

    ubuntu - Command line PDF reader
  • C. Ross

    Is there a command line program for linux that will let me read the text of PDFs? I'll willing to live with a lack of pictures.


  • Related Answers
  • Suppressingfire

    There are several pdf2text tools in Ubuntu. For example, the poppler-utils package contains /usr/bin/pdftotext.

  • ricbax

    Howto Open a PDF file under Linux / FreeBSD (lower part of article give you the options you are looking for)

  • Colonel Panic

    pdf2txt.py from the Python project PDFMiner.

  • Terry Wang

    zathura is the tool you are looking for => http://pwmt.org/projects/zathura/

    For Ubuntu and Arch Linux, just use the package management tools apt-get install zathura or pacman -S zathura to install.

    To view PDF in CLI/Terminals, just run zathura /path/to

    NOTE: zathura depends on x11 client libraries, it cannot run without them. So if you ssh to a remote host and run zathura on it, you'll have to do X11 Forwarding (which means you need to run a X Server - Ubuntu Desktop will do).

  • alko989

    One can use less PDFFILE.pdf, which shows the text of the pdf. It requires pdftotext from xpdf. I think it works pretty well for pdf's with a lot of text.

    Also if you want to be able to see the actual pdf file (in low quality) you can use the fbi, the linux framebuffer imageviewer.

    sudo fbi PDFFILE.pdf
    

    Small problem is that it needs root privileges.