3

使用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 几乎相同。

4

1 回答 1

3

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

于 2014-05-18T16:27:42.407 回答