
Ich dachte immer, dass PDFs und PostScript-Dateien ziemlich ähnlich sind, obwohl PostScript eine Turing-vollständige Sprache ist.
Gibt es einen Grund, warum das Rendern von PostScript viel langsamer ist (ausprobiert mit Evince unter Ubuntu) als das von PDF, oder sind die Reader einfach viel weniger optimiert?
Antwort1
Ich habe derzeit keine Möglichkeit zu überprüfen, ob meine Annahme richtig ist – aber hier ist sie trotzdem:
ICHverdächtigdas evince
PostScript nicht direkt rendern und auf dem Bildschirm anzeigen kann. Vielleicht kann es das nur für PDF. Daher verwendet es möglicherweise einen Trick für PostScript-Dateien: Hinter Ihrem Rücken konvertiert es sie in eine temporäre PDF-Datei und zeigt diese stattdessen an.
Versuchen Sie, den (sehr altmodischen) gv
PostScript-Viewer auf Ubuntu zu installieren:
sudo apt-get install gv
und dann
gv /path/to/PostScript.ps
und sehen Sie, ob es schneller ist. ( gv
verwendet auch PostScript zum Rendern, konvertiert aber nicht in PDF.) Oder Sie verwenden Ghostscript direkt
gs /path/to/PostScript.ps
Aber vergessen Sie eines nicht: genauWeilPostScript ist eine Programmiersprache. Sie können PostScript-Dateien erstellen, die in Bytes relativ klein sind, den Interpreter jedoch durch eine Schleife mit Tausenden von Iterationen laufen lassen (zum Beispiel umberechnen+ ein Fraktal rendern), bevor der Dateiinhalt auf dem Bildschirm angezeigt wird.
PDF hat keine „Schleifen“ und Berechnungen wie diese …
Antwort2
Aber das Wichtigste ist, dass PDF seitenweise funktioniert: Jede Seite ist größtenteils eine in sich geschlossene Einheit, sodass Sie zu jeder beliebigen Seite springen können und der Reader sofort mit der Darstellung dieser Seite beginnen kann.
Ein PostScript-Dokument hingegen ist ein einzelnes großes Programm, was bedeutet, dass der PS-Viewer es bis zur gewünschten Seite ausführen muss, bevor es korrekt angezeigt werden kann.
Außerdem enthalten PDFs Objekte, die gerendert werden müssen, während PostScript eine Programmiersprache ist, dieweist einen Renderer an, solche Objekte zu zeichnen, daher ist PDF im Vergleich zu PS in gewissem Sinne vorverdaut und daher schneller zu interpretieren.
Antwort3
PostScriptist einProgrammiersprache.
PDFist einDokumentformat.
Da PostScript eine Programmiersprache ist, muss der gesamte Inhalt des Dokuments Schritt für Schritt berechnet werden. PDF unterstützt zwar eine begrenzte Teilmenge von PostScript für Vektorgrafiken, ist jedoch speziell als Dokumentformat konzipiert und erfordert diese Art der Berechnung nicht.
Antwort4
Das hängt vom PostScript-Code ab. Man könnte einen 3D-Rendering-Algorithmus in PostScript schreiben und eingebettete AutoCAD-Dateien als Bilder verwenden. Das Rendern würde viel Zeit in Anspruch nehmen, während PDF vorgerasterte Bilder enthält. In manchen Fällen ist das Rendern in PostScript viel schneller. Leider gibt die meiste gängige Publishing-Software sehr ineffizienten PostScript-Code aus. Konverter PS->PDF können ihre Ausgabe jedoch für schnelles Rendern optimieren.