(20. Mai 2007 — tk)

Feintuning von Distiller-Settings

Anbei ein paar kleine Tipps bzgl. Distiller-Settings… Schon seit eh und je läßt sich der Umwandlungsprozeß von PostScript in PDF mittels Adobes Distiller über Einstellungs-Dateien steuern. Diese Dateien — aufgrund des Suffix ».joboption« auch als Job-Options bekannt — sind simple Textdateien, die in einfach kodierter Form diverse Settings enthalten, die Details des Distill-Vorgangs steuern (als Beispiel siehe Adobes High Quality Print Settings ). Die seitens Adobe oder Drittherstellern/PDF-Initiativen gelieferten Joboptions sind aber oftmals nicht wirklich optimal, weshalb sich in jedem Fall zwei simple Korrekturen anbieten.

Qualitätsproblem:

Ein Beispiel ist der sogenannte »DownsampleTreshold«, d.h. der Schwellwert, ab welchem Bilddaten mit einer höheren Auflösung als die Downsampling-Auflösung heruntergerechnet werden sollen, um die Dateigröße der PDF-Dateien zu reduzieren. Adobe arbeitet hier mit einem Default von 1,5 (d.h. bei 300 ppi Downsampling-Auflösung würden Bilddaten mit einer Auflösung ab 450 ppi auf eben 300 ppi heruntergerechnet), PDF-Experten und -Initiativen, die sich qualitativ hochwertige PDF-Erzeugung auf die Fahne geschrieben, teils mit noch geringeren Schwellwerten wie bspw. 1,33 (d.h. Herunterrechnen auf 300 ppi bereits ab 400 ppi effektiver Auflösung von Bildern)

Problem bei diesem Ansatz ist die eh schon zweifelhafte Qualität, die beim Downsamplen auf weniger als die Hälfte der Auflösung entsteht (weil in dem Fall bspw. aus 4×4 Pixeln 3×3 errechnet werden müssen oder aus 3×3 Pixeln sogar nur 2×2, etc. — das kann bei Interpolationsalgorithmen, die nur die Nachbarpixel betrachten, nur schiefgehen, sprich zu Unschärfe und ungleichmäßigen Ergebnissen führen).

Zusätzlich schlägt bei aktuellen Distiller-Versionen einschließlich 8.0.0 noch ein zusätzlicher Bug zu, der dafür sorgt, daß beim Downsampling auf eine Zielauflösung zwischen 50,x% und 99,9% verglichen mit der Originalauflösung ein qualitativ minderwertiger Algorithmus zum Einsatz kommt. Selbst wenn in den Distiller-Settings »Bikubische Interpolation« eingestellt ist, verwendet der Distiller ungefragt in diesem Grenzbereich die sich qualitativ katastrophal auswirkende »Kurzberechnung« — siehe Thread auf hilfdirselbst.ch , englischsprachige Kurzbeschreibung des Problems und kaputtgerechnetes Beispiel (Abb. 1):

Abb. 1: Von 400dpi auf 300dpi kaputtgerechnet
Abb. 1: Von 400dpi auf 300dpi kaputtgerechnet

im Vergleich zu dem, wie es bei »bikubischer Interpolation« aussehen sollte (Abb.2):

Abb.2: Photoshop downsampling
Abb.2: Photoshop downsampling

Abhilfe ist in jedem Fall, den »DownsampleTreshold« auf mindestens 2.0 zu setzen. Da diese Einstellung seit Distiller 5 auch direkt in Acrobat vorgenommen werden kann, dort einfach als Schwellwert die doppelte Auflösung im Vergleich zur Zielauflösung vorgeben. Bei monochromen Bildern doppelt vorsichtig sein, denn hier kann jede Art der Auflösungsreduzierung bspw. aufgerasterte FM-modulierte Scans oder Copydot-Scans komplett kaputtrechnen. Lieber auf Downsampling im Zweifelsfall komplett verzichten!

Performanceoptimierung:

Ein anderer Parameter, der leider nicht per GUI einstellbar ist, ist der sogenannte »ImageMemory«-Wert. Dieser gibt an, ab welcher Größe im PostScript-Datenstrom enthaltene Bilddaten während des Distill-Vorgangs als temporäre Objekte auf Festplatte geschrieben werden. Sind Bildobjekte von ihrer Größe her unter diesem Wert, so werden sie temporär im RAM weiterverarbeitet.

Damit ist klar, daß es nichts bringt, bei bildlastigen Jobs dem Distiller einfach nur RAM ohne Ende zuzuweisen ohne ebenfalls an diesem Parameter zu drehen, denn der steht auch bei den mit Distiller 8 ausgelieferten Joboptions auf bescheidenem 1 MByte:

/ImageMemory 1048576

Das bedeutet, daß sämtliche Bildobjekte, die diese Größe überschreiten, als temporäre Dateien auf Platte geschrieben werden, was je nach Performance der IO-Ausstattung — also wie schnell lesende/schreibende Zugriffe auf Distillers temporäres Verzeichnis vonstatten gehen — ziemlich negativ auf die Gesamtperformance drücken kann. Negativstes Beispiel ist der Distiller unter dem klassischen MacOS — hier ist mit Setzen eines vernünftigen ImageMemory-Werts bei bildlastigen Jobs teils eine Verdopplung der Distiller-Performance zu beobachten.

Unter MacOS X und Windows beobachtet man im Extremfall (sehr bildlastige PDFs und langsame Festplatte) »nur« eine Steigerung der Performance auf 110%-150% — das dafür völlig gratis, wenn man nur Hand an die Distiller-Settings legt und mit einem Texteditor bspw. den ImageMemory-Wert auf das hundertfache hochschraubt:

/ImageMemory 104857600

Jedenfalls macht man mit einer zeitgemäßen Anhebung des ImageMemory-Wertes nichts falsch, wenn der Distiller-Rechner ausreichend Arbeitsspeicher zur Verfügung hat, wovon heutzutage eigentlich auszugehen ist. Die irrwitzig niedrigen Defaults in den branchenweit gängigen Joboptions gehen jedenfalls von Zuständen wie Mitte der 90er Jahre aus als der Arbeitsspeicher noch in MByte und nicht in GByte ausgedrückt wurde ;-)