為什麼渲染 PostScript 比渲染 PDF 慢很多?

為什麼渲染 PostScript 比渲染 PDF 慢很多?

我一直認為 PDF 和 PostScript 檔案非常相似,儘管 PostScript 是一種圖靈完備語言。

有沒有原因導致 PostScript 在渲染時(在 Ubuntu 上嘗試過)比 PDF 慢很多,或者閱讀器的最佳化程度較低?

答案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 能夠優化其輸出以實現快速渲染。

相關內容