【问题标题】:Dramatic speed difference between PDF to PNG vs. PDF to JPEGPDF 到 PNG 与 PDF 到 JPG 之间的巨大速度差异
【发布时间】:2014-07-06 11:20:13
【问题描述】:

使用pdftocairo,在 Xeon E5-2630 (2.3GHz) CentOS 6.3 机器上,poppler 0.24,cairo 1.12,libpng 1.2.49,openjpeg 1.3.10(都是 CentOS 默认),我测试了转换 37 页 PDF转换为JPEG和PNG。我在没有特殊选项的情况下运行pdftocairo(因此没有用于 png 的 alpha 通道,密度为 150ppi)。速度差异巨大:

PDF 转 PNG:

real    0m16.858s
user    0m16.552s
sys     0m0.154s

每页大约需要 0.43 秒。

PDF 转 JPEG:

real    0m1.762s
user    0m1.666s
sys     0m0.081s

这快了 10 倍。

现在我也测试了用GS做转换,选项基本一样,结果是:

PDF 转 PNG:

real    0m16.500s
user    0m16.223s
sys     0m0.093s

奇怪的是,速度几乎与 poppler 相同。

PDF 转 JPEG:

real    0m7.468s
user    0m7.304s
sys     0m0.079s

不知何故,比 poppler 慢得多,但我将其包括在内只是为了比较。

为什么转换成 PNG 这么慢?我需要将它们转换为 PNG,我的 libpng 设置是否有问题?奇怪的是,GS 在转换 JPEG 时要慢得多,但在转换 PNG 时几乎相同。

【问题讨论】:

    标签: ghostscript cairo libpng pdf-conversion poppler


    【解决方案1】:

    PNG 压缩速度主要取决于 zlib 压缩级别和 zlib 策略。你用压缩速度换取压缩比。 PNG过滤器方法对压缩速度的影响也较小,“none”是最快的,“paeth”是最慢的。更慢的是常用的“自适应过滤”,它为 5 种过滤器类型中的每一种计算品质因数,并为每条扫描线选择最佳值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-01
      • 2013-02-02
      • 1970-01-01
      • 2019-12-28
      • 1970-01-01
      • 1970-01-01
      • 2015-04-06
      • 1970-01-01
      相关资源
      最近更新 更多