PDF到PNG与PDF到JPG之间的显着速度差异

时间:2014-05-18 12:20:17

标签: ghostscript cairo libpng pdf-conversion poppler

使用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设置可能有问题吗?奇怪的是,转换JPEG时GS速度要慢得多,但PNG几乎完全相同。

1 个答案:

答案 0 :(得分:1)

PNG压缩速度主要由zlib压缩级别和zlib策略控制。您可以根据压缩比来换取压缩比。 PNG过滤方法也会在较小程度上影响压缩速度,"无"是最快的" paeth"是最慢的。更慢的是常用的自适应滤波"它计算5种滤波器类型中的每一种的品质因数,并为每条扫描线选择最佳值。