3

Я всегда думал, что файлы PDF и PostScript очень похожи, хотя PostScript - полный язык Тьюринга.

Есть ли причина, почему PostScript намного медленнее при рендеринге (пробовал с evince в Ubuntu), чем PDF, или читатель просто менее оптимизирован?

4 ответа4

3

У меня нет способа проверить, правильно ли мое предположение - но здесь все равно идет речь:

Я подозреваю, что evince не может напрямую отображать и отображать PostScript на экране. Может быть, это можно сделать только для PDF. Поэтому он может использовать хитрость для файлов PostScript: за вашей спиной он преобразует их во временный файл PDF и отображает его вместо этого.

Попробуйте установить (очень старомодный) просмотрщик gv PostScript в Ubuntu:

 sudo apt-get install gv

а потом

 gv /path/to/PostScript.ps

и посмотрим, будет ли это быстрее. (gv также использует PostScript для рендеринга, но не конвертирует в PDF.) Или вы используете Ghostscript напрямую

 gs /path/to/PostScript.ps

Но не забывайте об одном: именно потому , что PostScript является языком программирования, вы можете создавать файлы PostScript, которые довольно коротки в байтах, но заставляют интерпретатор проходить цикл с тысячами итераций (например, для вычисления + рендеринга фрактала) прежде чем он отображает содержимое файла на экране.

У PDF нет «циклов» и подобных вычислений ...

1

Но самое главное, PDF работает постранично: каждая страница в основном является автономной сущностью, поэтому вы можете перейти к любой странице, и читатель может сразу же начать ее рендеринг.

Документ PostScript, напротив, представляет собой одну большую программу, а это означает, что программа просмотра PS должна выполнить его до нужной страницы, прежде чем сможет отобразить его правильно.

Кроме того, PDF-файлы содержат объекты для визуализации, в то время как PostScript является языком программирования, который инструктирует средство визуализации рисовать такие объекты, поэтому PDF в некотором смысле предварительно переваривается по сравнению с PS и, таким образом, быстрее интерпретируется.

1

Это зависит от кода PostScript. Можно написать алгоритм 3D-рендеринга в PostScript и использовать встроенные файлы AutoCAD в качестве изображений. Рендеринг займет много времени, в то время как PDF будет содержать предварительно растеризованные изображения. В некоторых случаях PostScript будет отображаться намного быстрее. К сожалению, большинство популярных издательских программ выдают очень неэффективный код PostScript. Но конвертеры PS-> PDF способны оптимизировать их вывод для быстрого рендеринга.

0

PostScript - это язык программирования.

PDF - это формат документа.

Поскольку PostScript является языком программирования, все содержимое документа должно вычисляться шаг за шагом. Хотя PDF поддерживает ограниченное подмножество PostScript для векторной графики, оно разработано специально как формат документа и не требует такого рода вычислений.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .