xmlgraphics-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Luis Bernardo (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (XGC-55) Significant slowdown in PNG and TIFF processing with xmlgraphics 1.4
Date Wed, 24 Jun 2015 08:40:04 GMT

     [ https://issues.apache.org/jira/browse/XGC-55?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Luis Bernardo updated XGC-55:
-----------------------------
    Fix Version/s:     (was: --)
                   Trunk

> Significant slowdown in PNG and TIFF processing with xmlgraphics 1.4
> --------------------------------------------------------------------
>
>                 Key: XGC-55
>                 URL: https://issues.apache.org/jira/browse/XGC-55
>             Project: XMLGraphicsCommons
>          Issue Type: Bug
>          Components: image writer
>    Affects Versions: 1.4
>         Environment: Operating System: All
> Platform: PC
>            Reporter: OSC Member
>            Assignee: XML Graphics Project Mailing List
>             Fix For: Trunk
>
>         Attachments: KOComponentColorModel.png, logo_rf.png, testicc.tar.gz
>
>
> Hello, 
> I’m using fop 1.0 (xmlgraphics 1.4) to generate PDF, I noticed that PDF generation
with PNG or TIF image is 7 times longer. 
> The problem doesn't appear in the version 1.3 of xmlgraphics.
> The problem seems to come from color model associated with the image.
> * if is_sRGB_stdStale = true then getRBG method is very fast
> * if is_sRGB_stdStale = false then getRBG  is slow because the treatment is
> delegated to ICC_ColorSpace.toRGB
> The color model is correct, but it is modified by the class
> org.apache.xmlgraphics.image.loader.impl.imageio.ImageLoaderImageIO
> by the following code : 
>             if (providerIgnoresICC && cm instanceof ComponentColorModel) {
>                 // Apply ICC Profile to Image by creating a new image with a new color
model.
>                 ICC_Profile iccProf = tryToExctractICCProfile(iiometa);
>                 if (iccProf != null) {
>                     ColorModel cm2 = new ComponentColorModel(
>                             new ICC_ColorSpace(iccProf), cm.hasAlpha(), cm
>                                     .isAlphaPremultiplied(), cm
>                                     .getTransparency(), cm.getTransferType());
>                     WritableRaster wr = Raster.createWritableRaster(imageData
>                             .getSampleModel(), null);
>                     imageData.copyData(wr);
>                     BufferedImage bi = new BufferedImage(cm2, wr, cm2
>                             .isAlphaPremultiplied(), null);
>                     imageData = bi;
>                     cm = cm2;
> I removed this code and it works fine now, but it's dirty. What's the impact ?
> Until a fix, best regards.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: general-help@xmlgraphics.apache.org


Mime
View raw message