[
https://issues.apache.org/jira/browse/PDFBOX-2126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14049141#comment-14049141
]
Tilman Hausherr edited comment on PDFBOX-2126 at 7/1/14 6:17 PM:
-----------------------------------------------------------------
I'm getting really weird results: my tests are messing up a lot of files, e.g.
ARCHIVERGB.ai and the HOTRODCMYK.ai that are in the
pdfbox\src\test\resources\input\rendering directory. But rendering them from
the command line with "PDFReader" produces a correct result.
Another file, bugzilla886049.pdf is suddenly correct for the first time ever.
But only with PDDToImage, not with PDFReader.
was (Author: tilman):
I'm getting really weird results: my tests are messing up a lot of files
(although one, bugzilla886049.pdf is suddenly correct for the first time ever),
but rendering them from the command line with "PDFReader" produces a correct
result.
> Optimize clipping
> -----------------
>
> Key: PDFBOX-2126
> URL: https://issues.apache.org/jira/browse/PDFBOX-2126
> Project: PDFBox
> Issue Type: Improvement
> Components: Rendering
> Affects Versions: 2.0.0
> Reporter: Petr Slaby
> Attachments: ClipPath.1.patch, ClipPath.patch, PDFBOX-1772.pdf,
> PDFBOX-1772.pdf-1-bad.png, example_010.pdf, pdfbox-1772.pdf-1-good.png,
> screenshot.png
>
>
> As already stated in a TODO comment in PageDrawer, the call of
> Graphics2D#setClip() is time and memory consuming. The attached patch
> optimizes clipping by calling Graphics2D#setClip() only if the clipping path
> has changed. The effect depends on the document, e.g. the attached one
> renders in 10.5s without the optimization and in 5.5 seconds in the optimized
> version.
> The clipping has to be re-applied whenever the transform in Graphics2D
> changes. This is not explicitly checked for, the implementation rather
> depends on the cached value being reset manually. Currently this is only
> needed at one place when processing annotations (AcroForms). Also, the
> implementation relies upon the clipping path object stored in PDGraphicsState
> to never change so that a comparison using == can be used. This works fine,
> but needs a bit of awareness in future changes. To make the design more
> clean, the clipping path could be made private to PDGraphcisState and thus
> really "immutable" from outside.
--
This message was sent by Atlassian JIRA
(v6.2#6252)