[ https://issues.apache.org/jira/browse/PDFBOX-2117?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14081993#comment-14081993 ]
Andreas Lehmkühler commented on PDFBOX-2117: -------------------------------------------- [~tilman] I'm not sure if I agree with your last change. I guess it's correct to use 0/1 for the range check (good catch by the way), but IMHO if the intermediate value is out of range we have to set it to the Domain values and not 0/1. copied from the PDF-spec (8.7.4.5.3 Type 2 Axial shadings): {quote} The value of the parametric variable t is then determined from x¢ as follows: - For 0£ x¢ £ 1, t = t0 + (t1 - t0) ¥ x¢. - For x¢ < 0, if the first element of the Extend array is true, then t = t0; otherwise, t is undefined and the point shall be left unpainted. - For x¢ > 1, if the second element of the Extend array is true, then t = t1; otherwise, t is undefined and the point shall be left unpainted. {/quote} Where t0/t1 are the domian values. Am I missing something (I didn't run any tests so these are just some theoretical thoughts)? > AxialShadingContext is slow > --------------------------- > > Key: PDFBOX-2117 > URL: https://issues.apache.org/jira/browse/PDFBOX-2117 > Project: PDFBox > Issue Type: Sub-task > Components: Rendering > Affects Versions: 1.8.6, 1.8.7, 2.0.0 > Reporter: Petr Slaby > Assignee: Shaola Ren > Labels: shading, shadingpattern > Fix For: 2.0.0 > > Attachments: 000001_MTEXT_CS6.pdf, AxialShading.patch, > AxialShading1.patch, AxialShadingContext.java.getrgbimage, > GWG061_Shading_x1a.pdf, GWG061_Shading_x1a.pdf-1.png, > GWG061_Shading_x1a.pdf-1.png-diff.png, PDFBOX-2117-068519-ShadingType3.pdf, > PDFBOX-2117-068519.pdf, PDFBOX-2117-068519.pdf-2-bad.png, > PDFBOX-2117-068519.pdf-2-good.png, Shading2Function2.pdf, > Shading2Function2.ps, Shading2Function2domain3.pdf, > Shading2Function2text.pdf, asy-shade.pdf, > bad_pdfbox-2117-068519-shadingtype3.pdf-1.png, color_gradient.pdf, > good_pdfbox-2117-068519-shadingtype3.pdf-1.png, shading_pattern.pdf > > > AxialShadingContext#getRaster() is on top of profiler hot spots in documents > that use an axial shading. Inside it, the slowest part is calling > PDColorSpaceRGB#toRGB() and PDFunctionType3#eval() (in this order). > -- This message was sent by Atlassian JIRA (v6.2#6252)