[ 
https://issues.apache.org/jira/browse/PDFBOX-4718?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17886732#comment-17886732
 ] 

Andreas Lehmkühler commented on PDFBOX-4718:
--------------------------------------------

i've found a workaround so that the attached pdf is rendered in about 4-5 
seconds

Some details:
* I've calculated an intersected overall bound box from all clipping paths
* the overall bounding box is used a starting point for the calculation of the 
intersected clipping path. This could decrease the complexity in some cases, so 
that the call of Area.intersect needs less resources/time to calculate
* clipping paths which represent a rectangular are skipped as they were already 
taken into account when calculation the intersected overall bound box

> OutOfMemoryError - during renderImageWithDPI
> --------------------------------------------
>
>                 Key: PDFBOX-4718
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4718
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Rendering
>    Affects Versions: 2.0.12, 2.0.17
>         Environment: macOS Mojave (10.14.6)
> Java 11.0.2 -Xmx10G -Xms10G
>            Reporter: Serhii Kolesnyk
>            Assignee: Andreas Lehmkühler
>            Priority: Blocker
>             Fix For: 4.0.0
>
>         Attachments: PDFBOX-4718-reduced.pdf, PDFBox4718Intersect.java, 
> example.pdf, image-2019-12-19-05-55-57-648.png
>
>
> During rendering pdf we receive _java.lang.OutOfMemoryError: Java heap space_
> {code:java}
> Exception in thread "AWT-Shutdown" java.lang.OutOfMemoryError: Java heap 
> spaceException in thread "AWT-Shutdown" java.lang.OutOfMemoryError: Java heap 
> space at java.desktop/sun.awt.AppContext.getAppContexts(AppContext.java:167) 
> at 
> java.desktop/sun.awt.AppContext.stopEventDispatchThreads(AppContext.java:610) 
> at java.desktop/sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:322) at 
> java.base/java.lang.Thread.run(Thread.java:834)
> java.lang.OutOfMemoryError: Java heap space
>  at java.desktop/sun.awt.geom.AreaOp.pruneEdges(AreaOp.java:362) at 
> java.desktop/sun.awt.geom.AreaOp.calculate(AreaOp.java:159) at 
> java.desktop/java.awt.geom.Area.intersect(Area.java:293) at 
> org.apache.pdfbox.pdmodel.graphics.state.PDGraphicsState.intersectClippingPath(PDGraphicsState.java:618)
>  at 
> org.apache.pdfbox.pdmodel.graphics.state.PDGraphicsState.intersectClippingPath(PDGraphicsState.java:597)
>  at org.apache.pdfbox.rendering.PageDrawer.endPath(PageDrawer.java:936) at 
> org.apache.pdfbox.contentstream.operator.graphics.EndPath.process(EndPath.java:35)
>  at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:869)
>  at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:505)
>  at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:479)
>  at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:152)
>  at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:262) at 
> org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:314) at 
> org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:243) at 
> org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:229){code}
> We check the different setting of MemoryUsageSetting (TempFileOnly, 
> MainMemoryOnly), settings of DPI.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to