8

I like the built-in Preview.app, but when giving presentations (in particular, when using multiple PDF pages for animated page components such as with LaTeX-beamer) I am annoyed by the brief low-resolution rendering on every page transition. After about one second, I am getting the desired rendering, but on every keypress, I am first getting an immediate, blocky pre-rendering.

Edit: Here's a QuickTime screencast if the above is difficult to understand

In other programs, I find options such as "pre-render next page [in presentation mode]" or "prefer quality over speed [when rendering PDFs]", but not in the Preview.app preferences.

Is there a hidden way to configure this, or any other solution?

  • 1
    It's really odd that no app seems to implement this. The problem is universal, also in skim and other pdf viewers. – Thomas Sep 22 '18 at 19:14
  • Do you have a sample PDF where this happens you can upload or share? I get instant PDF rendering on my files that are less than 40 pages on my 1.1 GHz intel Core M MacBook from 2015. It's about as slow a CPU / GPU as you can buy in the last 4 years from Apple and it screams in rendering PDF of all sorts. Specifically an 18 page, 7.9 MB PDF with bar codes, full color graphics, small legal text terms and conditions on each page renders instantly in quicklook and in preview.app. – bmike Sep 22 '18 at 21:04
  • @bmike try it in presentation mode/full screen. Any pdf independent of size triggers this. You can see it many times on any conference with slide talks around the world. – Thomas Sep 22 '18 at 23:27
  • It's immediate and snappy in full screen mode as well as slideshow mode from the View menu. Whether I'm 2 pages up or one page only up - with or without thumbnails - fast, rendered one time, snappy forward and back. Are you seeing the lag on a second display? Also, I don't disagree you're seeing a render, but my thinking is your PDF or some other software is the issue - not just every preview with every PDF. – bmike Sep 22 '18 at 23:46
  • @bmike The computer you mention does not have a Retina display, right? I suspect this might make a difference. I'm seeing this on small files and large files. It seems to be an issue with the MacOS pdf library that many viewers use to render the pdf. It makes no sense that in continuous scroll everything is cached, but in presentation mode it renders on page turn, but well. I don't care anymore. Even pdf.js in firefox does this better and on this site I just get shot down. Thanks anyway for being the only one who at least commented before downvote and close of my question. – Thomas Sep 23 '18 at 11:48
3

LaTeX (Beamer) and Preview are the keywords?

That is very likely a combination of suboptimal PDF output from LaTeX and buggy PDFkit, which is much too finicky with this. This bug was indeed introduced with macOS 10.12 Sierra. The effect cannot be turned off as this is the trick that actually makes macOS PDFkit apps "scream through PDFs". Any transition is rendered in much reduced quality until the image is supposed to be stable and actually viewd by a user.

The cause is likely the inclusion of many graphics files that each either needlessly or incorrectly contain a "page group" attribute every time.

If it is this problem, which is much more troubling in Sierra and a little bit better in High Sierra: then there are a few options to consider:

  1. Use El Capitan for your presentation.

  2. Switch away from Preview or all the other PDFkit based PDF viewers in macOS. Adobe products are indeed more robust for this kind of problem, Foxit or PDFExpert seem equally capable of avoiding that problem to an extent.

  3. Reflow you source PDF. There are a few options for that. Expensive tools or opensource.
    One solution might be to use qpdf with

    qpdf --linearize slow.pdf faster.pdf
    
  4. Carefully prepare all the graphics that are to be included before pdfTeX includes them into the output file. It seems that the default workflow in most LaTeX to PDF conversions makes that problem much worse if the image converter used is ImageMagick.

  5. If you insist on using Sierra or High Sierra: make sure that you really load a fresh instance of PDFkit based PDF readers. Reason: macOS often keeps a shadow instance of Preview active in the process list (probably due to how "autoquit applications" is handled).
    See that by letting Preview autoquit or by closing it. It often vanishes from the Dock but is still listed in Activity Monitor. As this bug accumulates over time in its effects, force quit Preview (from Activity Monitor or with the Terminal command). A fresh instance of Preview behaves better than one that accumulated the error. On Sierra this is mandatory.

More information on this problem can be found in What causes incorrect PDFkit or blurry PDF display in macOS Sierra and how to fix or remedy that situation? and Multiple PDFs with page group included in a single page warning Ask Question

2

This seems to be a limitation in the underlying MacOS-wide pdf rendering library. I vaguely remember that this problem was introduced by Apple with some PDFkit rewrite (was it in 10.12?). Before it was working just fine. You can report this to Apple (and probably nothing will happen) here.

Exactly the same behaviour can also be observed with skim and it curiously also does not have such an option. As skim is open source you might suggest this improvement here. Maybe the developers will tell you exactly which limitation it is.

Finally, as I'm also annoyed by this and I did not want to install any Adobe products I found that Firefox can render pdfs just fine. If you open your pdf in Firefox and go to presentation mode with ⌥⌘p. This gives me the desired result. A functional presentation view with no rendering blur on page transition.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .