![为什么渲染 PostScript 比渲染 PDF 慢得多?](https://linux22.com/image/1271891/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%B8%B2%E6%9F%93%20PostScript%20%E6%AF%94%E6%B8%B2%E6%9F%93%20PDF%20%E6%85%A2%E5%BE%97%E5%A4%9A%EF%BC%9F.png)
我一直认为 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
答案4
这取决于 PostScript 代码。人们可以用 PostScript 编写 3D 渲染算法,并使用嵌入的 AutoCAD 文件作为图片。渲染需要很长时间,而 PDF 将包含预光栅化图像。在某些情况下,PostScript 的渲染速度会快得多。不幸的是,大多数流行的出版软件都发出了非常低效的 PostScript 代码。但转换器 PS->PDF 能够优化其输出以实现快速渲染。