Summary: | pdftoppm takes a long time to render a PDF | ||
---|---|---|---|
Product: | poppler | Reporter: | Cory <cory> |
Component: | splash backend | Assignee: | poppler-bugs <poppler-bugs> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 90596 | ||
Attachments: |
Remove limit check and use checkoverflow instead
Remove limit check and use checkoverflow instead Adjust limit check and check in addition bitmap ponter |
Description
Cory
2016-02-08 22:47:02 UTC
This PDF has a tilingPattern which doesn't use the tiling pattern implementation in splash introduced in 0.17.0 because it exceeds the limits for tilingPattern-Bitmaps introduced with solution of bug 52488. Instead of slightly increase the limit I want now to use the checkoverflow implementation in SplashBitmap. Created attachment 121674 [details] [review] Remove limit check and use checkoverflow instead This patch decreases the render time for this PDF from 80 minutes to 8 secondy on my laptop. Created attachment 121704 [details] [review] Remove limit check and use checkoverflow instead Sorry, the fallback was buggy: of course we have to restore the original bitmap and delete the tilingPattern bitmap! Created attachment 121707 [details] [review] Adjust limit check and check in addition bitmap ponter Sorry, after looking into bug 90596, which PDF wasn't yet part of my regression test, I got with this patch a "Bogus memory allocation size". Reason for it was there that in the later call of splash->drawImage the already huge bitmap was duplicated. It doesn't matter for the rendering quality, because after it it falls back to the Gfx implementation, but therefore the job was done twice, which is at least a waste of time. Therefore I now adjust the limit check so that it works here AND with bug 90596. Pushed |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.