How does the new iPad's A5X graphics processor affect PDF rendering speed?
How much, if any, has the new iPad has gained in PDF rendering speed with the A5X processor (quad-core graphics)?
Solution 1:
I care a lot about PDFs because as a lawyer I have to review a lot of scanned documents. The performance of PDF rendering on the new iPad depends on the techniques used. For full-resolution rendering, it's a little slower, but software goes a long way. The overall experience depends on four factors:
1) Single-page rendering method 2) Zoom method 3) Caching 4) Pre-rendering
Explanation:
1) Single page rendering: some apps don't display anything until the whole page is rendered. Others render in a tiled fashion: some top to bottom, some in a spiral inside out. Some apps first render a low-res version of the page, then render the full-res version--again, by either of the two methods.
2) Zoom: Again, some apps render on the fly, while others zoom in on the pre-rendered image and pop in the re-rendered tiles or the whole view. The iPad handles vector rescaling (including text) superbly, but rasterized PDFs can't be scaled in real-time if they're in iPad-resolution territory.
3) Caching: some apps don't cache at all, so re-render each time you change the view (even if you're on the same page). Others only cache one page at a time. Still others cache three pages or more, so you can flip pages and zoom in smoothly without re-rendering.
4) Pre-rendering: a few apps will pre-render the next page. One app, described below, pre-renders the whole document.
iBooks and the Amazon Kindle app render large PDFs pretty efficiently. iBooks caches three pages, while Kindle's cache seems to depend on page size. Kindle pre-renders the next page while you're on the preceding page. However, neither support PDF markup. (Kindle also doesn't support rotation
One app, just called "PDF" (by Smalltalk Consulting) pre-renders the entire PDF so that most of the subsequent work is done by the GPU. You set the rendering resolution. The default "2x" gives you around 150dpi, "4x" around 300 dpi, etc. It slows down once you get past 4.5x, but that resolution is sufficient for most applications. This is the best app I've found to scroll quickly through large PDFs. However, it doesn't render markup and doesn't support any markup tools of its own.
In short, the new iPad cannot speed through a 600dpi PDF the way a quad-core i7 with 12GB of RAM can. But it can display and handle large PDF files the way they were meant to be--with the right software.
Goodreader has the best performance of any PDF viewer I've tried, followed by PDF Expert. Certain techniques that worked on the old iPad just don't fly on the new one, so some apps perform very poorly. (Adobe's own Reader is one of these.) Other apps, like iPDF, are promising, but still don't have full Retina support. (Several apps only take advantage of the Retina display when zoomed in, but double the pixels when viewing the whole page.)
To answer the original question and the follow-up: rendering is done by the CPU, display and manipulation (scrolling, zooming) is done by the GPU. The CPU converts the text portions using the text rendering engine and the graphical portions using a bitmap engine. (It's possible that the iPad's text rendering engine is handled by the GPU.)
The CPU on the new iPad is not significantly faster. PDF rendering methods that are CPU-heavy are even slower on the new iPad because the CPU has to do significantly more work to render at the higher resolution. But rendering methods that get data to the GPU quickly perform great. The more rendering work done in the background, the better. A well-designed PDF rendering engine will use idle time to generate image data that's ready for the GPU. An engine that renders "on the fly" (what I called "in real time") will choke.
"Pre-rendering the entire PDF" means that instead of each page being converted to an image as you scroll through, the whole PDF is rendered and loaded into memory as an image. This takes more RAM but results in faster performance when scrolling and zooming. It takes 5-30 seconds (or more) to pre-render the whole file. Also, when zooming in, the image does not re-scale. (Text portions of the PDF won't be crisp if you zoom in.) Google Docs basically does this with PDFs if you want to see what I'm talking about.