如何解决Kodak 的 KCMS 在 openJDK 中被 Little-CMS (LCMS) 取代 - PDF 转换的性能下降慢
从 Java 10 开始,柯达色彩管理系统 (KCMS) 在 openJDK 中被 LittleCMS (LCMS) 取代。在 Java8 和 9 中,它仍然可用,但不再是默认设置。它可以通过以下方式激活:
// force KCMS
System.setProperty("sun.java2d.cmm","sun.java2d.cmm.kcms.KcmsServiceProvider");
这有可以理解的原因:LCMS 是一个开源项目,它支持现代 ICC 配置文件,它得到维护(相对于 KCMS open bug)等等。然而,有一个权衡:ColorConversionOp (CConv) 比原始 KCMS 慢得多。原因是 KCMS 是 (4x) 多线程的,而 LCMS 不是。有一个包含所有详细信息的 lengthy thread...
虽然日常用户可能不会受到太大影响,但有一个应用领域受到很大影响。我搜索了 KCMS->LCMS 开关的问题,发现如下:
- PDFBox 的渲染速度要慢得多(bug at openJDK 或 SO 上的此处)
- Quoppa PDF 库error
- JPEDAL PDF 库(bug at openJDK 或它们的 blog)
- ...
来自 jpedal 的引用:
在过去的一个月里,我们注意到我们的回归速度明显放缓 测试。过去需要 30 分钟的测试周期现在需要 82 分钟。
对于每个想要尝试的人来说,都有一个 example project 可以自己测试。
很明显,特别是一个领域确实受到了这种影响:Java PDF 处理。
但是我为什么要写这个?
是否可以创建一个独立的 KCMS 库?哪些可以为需要它的项目加载?与 JPG2K lib 中排除的 JAI 相比,但作为单独的库提供。
我在网上搜索(但是找到了一些 documentation)没有找到它的源代码。 代码或库是否可用?这可能吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。