为什么渲染 PostScript 比渲染 PDF 慢得多?

为什么渲染 PostScript 比渲染 PDF 慢得多?

我一直认为 PDF 和 PostScript 文件非常相似,尽管 PostScript 是一种图灵完备语言。

PostScript 在渲染时比 PDF 慢很多(在 Ubuntu 上使用 evince 尝试过)的原因是什么?还是因为阅读器的优化程度很低?

答案1

我目前无法检查我的假设是否正确——但无论如何,我可以这么说:

怀疑无法evince直接在屏幕上渲染和显示 PostScript。也许它只能对 PDF 这样做。因此它可能对 PostScript 文件使用一个技巧:在你背后将它们转换为临时 PDF 文件并显示该文件。

gv尝试在 Ubuntu 上安装(非常老式的) PostScript 查看器:

 sudo apt-get install gv

进而

 gv /path/to/PostScript.ps

看看它是否更快。(gv也使用 PostScript 进行渲染,但不转换为 PDF。)或者直接使用 Ghostscript

 gs /path/to/PostScript.ps

但别忘了一件事:因为PostScript 是一种编程语言,你可以设计字节数相当短的 PostScript 文件,但让解释器经过数千次迭代的循环(例如计算+渲染分形)然后文件内容才会在屏幕上显示。

PDF 没有类似的‘循环’和计算......

答案2

但最重要的是,PDF 按页面工作:每个页面大部分都是一个独立的实体,因此您可以跳到任何页面,阅读器可以立即开始呈现该页面。

相反,PostScript 文档是一个单独的大程序,这意味着 PS 查看器必须先将其一直执行到所需的页面,然后才能正确显示它。

此外,PDF 包含要渲染的对象,而 PostScript 是一种编程语言,指示渲染器绘制此类对象,因此从某种意义上说,PDF 与 PS 相比是预先消化的,因此解释起来更快。

答案3

后记编程语言

PDF文档格式

因为 PostScript 是一种编程语言,所以必须逐步计算文档的全部内容。虽然 PDF 支持用于矢量图形的 PostScript 的有限子集,但它是专门设计为文档格式的,不需要这种计算。

答案4

这取决于 PostScript 代码。人们可以用 PostScript 编写 3D 渲染算法,并使用嵌入的 AutoCAD 文件作为图片。渲染需要很长时间,而 PDF 将包含预光栅化图像。在某些情况下,PostScript 的渲染速度会快得多。不幸的是,大多数流行的出版软件都发出了非常低效的 PostScript 代码。但转换器 PS->PDF 能够优化其输出以实现快速渲染。

相关内容