Чому рендеринг PostScript набагато повільніше, ніж надання PDF?


3

Я завжди вважав, що PDF-файли та PostScript-файли досить схожі, навіть незважаючи на те, що PostScript є повноцінною мовою.

Чи є причина, що PostScript набагато повільніше під час рендерінгу (намагався з evince на Ubuntu), ніж PDF, чи читач просто набагато менш оптимізований?

Відповіді:


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 не має "циклів" і таких обчислень ...


Ось фрактал у PS , який містить нескінченний цикл, що створює нескінченні сторінки PDF. 3.1K видає 10 мегабайт на сторінку (занадто багато для мого запалення).
luser droog

1

Але найголовніше, що PDF працює на сторінках: кожна сторінка здебільшого є автономною суттю, тому ви можете перейти на будь-яку сторінку, і читач зможе негайно розпочати рендеринг цієї сторінки.

Натомість документ PostScript - це єдина велика програма, що означає, що програма перегляду PS повинна виконувати її до потрібної сторінки, перш ніж мати змогу правильно її відобразити.

Крім того, PDF-файли містять об'єкти, які потрібно рендерувати, тоді як PostScript - це мова програмування, яка доручає рендеріру малювати такі об'єкти , таким чином PDF у певному сенсі попередньо засвоюється порівняно з PS, і, таким чином, швидше інтерпретувати.


1

Це залежить від коду PostScript. Можна написати алгоритм 3D-рендерінгу в PostScript і використовувати вбудовані файли AutoCAD як зображення. Відображення займе багато часу, тоді як PDF буде містити попередньо закріплені зображення. У деяких випадках візуалізація PostScript буде набагато швидше. На жаль, більшість популярних видавничих програм випускає дуже неефективний код PostScript. Але перетворювачі PS-> PDF здатні оптимізувати свій вихід для швидкого візуалізації.


0

PostScript - мова програмування .

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

Оскільки PostScript - мова програмування, весь вміст документа повинен обчислюватися поетапно. Хоча PDF підтримує обмежений підмножина PostScript для векторної графіки, він розроблений спеціально у форматі документа і не вимагає такого роду обчислень.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.