[OpenJDK 2D-Dev] Integrated: 8012229: [lcms] Improve performance of color conversion for images with alpha channel
Sergey Bylokhov
serb at openjdk.java.net
Wed Mar 31 23:06:39 UTC 2021
On Mon, 29 Mar 2021 07:36:35 GMT, Sergey Bylokhov <serb at openjdk.org> wrote:
> The lcms 2.8 version added support for the cmsFLAGS_COPY_ALPHA flag:
> https://sourceforge.net/p/lcms/mailman/lcms-user/thread/001c01d1c0f3%2484a7cb30%248df76190%24%40ProDigitalSoftware.com/#msg35143398
>
> which supports alpha channel transportation
>
> For our usage, it means we can use TYPE_4BYTE_ABGR and TYPE_INT_ARGB directly as a source and destination.
>
> Some numbers:
> converting new BufferedImage(3000, 3000, TYPE_INT_ARGB) from CS_sRGB to CS_CIEXYZ via op.filter(src, dst).
> //before the fix
> //Benchmark Mode Cnt Score Error Units
> //ColorAlphaConv.testFilter avgt 5 603,392 ± 12,932 ms/op
>
> //after the fix
> //Benchmark Mode Cnt Score Error Units
> //ColorAlphaConv.testFilter avgt 5 121,624 ± 0,906 ms/op
>
> But still slower than kcms
> //kcms jdk8u60
> //Benchmark Mode Cnt Score Error Units
> //ColorAlphaConv.testFilter avgt 5 13,256 ± 0,169 ms/op
This pull request has now been integrated.
Changeset: 16acfafb
Author: Sergey Bylokhov <serb at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/16acfafb
Stats: 208 lines in 5 files changed: 195 ins; 2 del; 11 mod
8012229: [lcms] Improve performance of color conversion for images with alpha channel
Reviewed-by: azvegint
-------------
PR: https://git.openjdk.java.net/jdk/pull/3239
More information about the 2d-dev
mailing list