> 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
Sergey Bylokhov has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision: - Merge branch 'master' into JDK-8012229 - Update ColCvtAlphaDifferentSrcDst.java - Initial fix ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/3239/files - new: https://git.openjdk.java.net/jdk/pull/3239/files/c89a4ca1..60a3dfca Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3239&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3239&range=00-01 Stats: 4586 lines in 234 files changed: 3018 ins; 664 del; 904 mod Patch: https://git.openjdk.java.net/jdk/pull/3239.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/3239/head:pull/3239 PR: https://git.openjdk.java.net/jdk/pull/3239