Skip to content

Draft: cairo: implement a cache for large soft masked images

Implement a simple cache to be used in CairoOutputDev::drawSoftMaskedImage() when drawing large images, this noticeably improves render time for documents like the one in issue #991 (closed) (which has an image that comprises the total 29 pages of the document).

The following command:
pdftocairo -png CopenhagenD-Tuesday.pdf notes.png

which extracts each of the 29 pages as png files, went from 33 seconds of running time in my laptop down to 9 seconds for the cache version.

Improves #991 (closed)

I took a couple Evince screencasts:

Click to show small video of Evince scrolling the affected document without cache issue991_without_cache
Click to show small video of Evince scrolling the affected document with cache version issue991_with_cache

Merge request reports

Loading