Details
-
Type: New Feature
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 3.0
-
Fix Version/s: 5.0.0 alpha1, 5.0
-
Component/s: Core/Parsing
-
Labels:None
-
Environment:ICEpdf
Description
Note from customer:
Please notice that the test program uses two threads to convert two identical PDF files here. If I use single thread to convert two PDF files sequentially, the comparison will success (image files are the same). If I save the converted images and open in Microsoft paint, I will see that one of the image is missing a chart.
Please notice that the test program uses two threads to convert two identical PDF files here. If I use single thread to convert two PDF files sequentially, the comparison will success (image files are the same). If I save the converted images and open in Microsoft paint, I will see that one of the image is missing a chart.
Activity
Patrick Corless
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Patrick Corless
made changes -
Fix Version/s | 5.0.0 alpha1 [ 10676 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #32746 | Tue Dec 11 14:54:08 MST 2012 | patrick.corless | |
Files Changed | ||||
MODIFY
/icepdf/trunk/icepdf/core/src/org/icepdf/core/io/RandomAccessFileInputStream.java
|
Patrick Corless
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Patrick Corless
made changes -
Fix Version/s | 5.0 [ 10314 ] | |
Fix Version/s | 4.5 [ 10342 ] |
Migration
made changes -
Fix Version/s | 4.5 [ 10342 ] | |
Fix Version/s | 4.3.4 [ 10341 ] |
Patrick Corless
made changes -
Salesforce Case | [] | |
Fix Version/s | 4.3.4 [ 10341 ] | |
Fix Version/s | 5.0 [ 10314 ] |
Patrick Corless
made changes -
Salesforce Case | [] | |
Fix Version/s | 5.0 [ 10314 ] |
Ken Fyten
made changes -
Summary | Stream loading issue with multiple threads | Add support for multi-threaded document stream loading/parsing |
Issue Type | Bug [ 1 ] | New Feature [ 2 ] |
Salesforce Case | [] |
Ken Fyten
made changes -
Fix Version/s | 4.0 - Beta [ 10212 ] |
Patrick Corless
made changes -
Fix Version/s | 3.2 [ 10212 ] | |
Fix Version/s | 3.1 [ 10181 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #19339 | Mon Oct 05 06:15:03 MDT 2009 | patrick.corless | |
Files Changed | ||||
MODIFY
/icepdf/trunk/icepdf/core/src/org/icepdf/core/pobjects/ObjectStream.java
MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/io/SeekableByteArrayInputStream.java MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/io/RandomAccessFileInputStream.java MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/Utils.java MODIFY /icepdf/trunk/icepdf/core/src/org/icepdf/core/util/LazyObjectLoader.java |
Patrick Corless
made changes -
Salesforce Case | [] | |
Fix Version/s | 3.1 [ 10181 ] |
Tyler Johnson
made changes -
Field | Original Value | New Value |
---|---|---|
Attachment | Test.java [ 11707 ] |
Tyler Johnson
created issue -
As part of the major refactoring for
PDF-319the handling of stream content has been reworked. When a stream is parsed the uncompressed stream bytes are stored and the file lock is removed. The Stream is then available for processing on a new thread. This work was also coupled with the removal of the memory manager in favor of Soft and Weak Reference model. From early testing three threads seems to be optimal for processing a document. Any more and the file locks tend to slow things down on an 4 core machine, new systems maybe able to do more.Another interesting refactor was to move image loading onto a new worker thread to avoid pausing the content parse while the image is decoded. The new ImageProxy will however block if paint is called before the image is fully decoded. So not true imageProxy but overall parse speed has been greatly improved for some image heavy documents.
Hopefully in the future we can take the rework a step further using NIO and avoid having to manage the file marker one thread at time.