Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 5.1.1
-
Fix Version/s: 6.0
-
Component/s: Core/Parsing, Core/Rendering
-
Labels:None
-
Environment:any
Description
A client has sent in a architecture PDF that has a very large number of q and Q operators in it and our restore method (Q) is taking up about 50 seconds of time just doing Area equals calculations.
In the past we have tried to optimize this by using the clip's bounds rather then area. I would like to revisit this and try to figure out why previous approaches have yielded regressions.
In the past we have tried to optimize this by using the clip's bounds rather then area. I would like to revisit this and try to figure out why previous approaches have yielded regressions.
Activity
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #43647 | Thu Dec 04 08:59:53 MST 2014 | patrick.corless | |
Files Changed | ||||
MODIFY
/icepdf/branches/icepdf-5.0.1/icepdf/core/src/org/icepdf/core/pobjects/graphics/commands/DrawDrawCmd.java
MODIFY /icepdf/branches/icepdf-5.0.1/icepdf/core/src/org/icepdf/core/pobjects/graphics/GraphicsState.java |
Patrick Corless
created issue -
Patrick Corless
made changes -
Field | Original Value | New Value |
---|---|---|
Fix Version/s | 5.1.2 [ 11872 ] | |
Fix Version/s | 5.2 [ 10970 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #43650 | Thu Dec 04 11:18:39 MST 2014 | patrick.corless | |
Files Changed | ||||
MODIFY
/icepdf/branches/icepdf-5.0.1/icepdf/core/src/org/icepdf/core/pobjects/graphics/GraphicsState.java
|
Patrick Corless
made changes -
Fix Version/s | 5.1.2 [ 11872 ] |
Patrick Corless
made changes -
Component/s | Core/Rendering [ 10974 ] |
Patrick Corless
made changes -
Fix Version/s | 5.3 [ 12070 ] | |
Fix Version/s | 5.2 [ 10970 ] |
Patrick Corless
made changes -
Fix Version/s | 5.2 [ 10970 ] | |
Fix Version/s | 5.3 [ 12070 ] |
Patrick Corless
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Patrick Corless
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
If we don't do the area clip comparison then we push all the clips into the painting pipeline and the render time is even longer as setting this large number of clips takes even longer then then comparing them.
I've checked in experimental code on the 5.0.1 branch that can be enable with the system property org.icepdf.core.quickclip=true. When enabled a QA run results in a just a handful of regressions related to clips size. However we have no regressions in the large number or architectural diagrams.