Ich führe regelmäßig ein .jsx-Skript in Adobe Illustrator aus, das eine Reihe von Dateien in einem bestimmten Format speichert.
Während Illustrator die aktive App ist, dauert das Ausführen des Skripts für 5 Dateien 23 Sekunden .
Wenn Illustrator nicht die wichtigste App ist, dauert das Ausführen des Skripts für 5 Dateien länger als 5 Minuten .
Laut Activity Monitor verbraucht Illustrator im Vordergrund etwa 75% der CPU, im Hintergrund jedoch weniger als 2% .
Laut Activity Monitor wird App Nap nicht verwendet .
Warum passiert das und gibt es eine Möglichkeit, es zu ändern?
Ich möchte in der Lage sein, andere Aufgaben zu erledigen, während ich auf Illustrator warte. So wie es aussieht, bin ich verpflichtet, Illustrator im Vordergrund zu halten.
Einige Dinge, die ich versucht habe : Das wusste ich
sudo sysctl debug.lowpri_throttle_enabled=0
arbeitete daran, Time Machine-Backups zu beschleunigen, daher dachte ich, dass dies in diesem Fall hilfreich sein könnte. Es hatte keine Wirkung .
Ich habe auch versucht, App Nap zu deaktivieren:
defaults write NSGlobalDomain NSAppSleepDisabled -bool YES
Es hatte keine Wirkung .
Ich habe TinkerTool ausprobiert , aber ich glaube, dass es nur eine grafische Benutzeroberfläche ist , um die Einstellung lowpri_throttle_enabled zu ändern . Es hatte keine Wirkung .
quelle
Diese Antwort stammt von Mordy Golding , Produktmanager für Adobe Illustrator (2001-2004) bei Quora :
Vektorgrafiken haben ihre Vor- und Nachteile. Dies ist leider einer der Nachteile. Dies liegt daran, dass Vektorgrafiken in einer linearen Stapelreihenfolge gezeichnet werden.
Nehmen Sie ein einfaches Beispiel: Nehmen Sie eine einzelne Ebene mit einem einzelnen Rechteck. Dupliziere diese Ebene 100 Mal. Obwohl nur die oberste Ebene sichtbar ist, zeichnet der Illustrator jedes Rechteck von der untersten Ebene nach oben. Illustrator kann die Ebene 50 erst zeichnen, wenn die vorherigen 49 fertig sind. Dies ist anders als bei Photoshop, bei dem es nur darum geht, welche Pixel letztendlich sichtbar sind.
Das Konzept weiter ausbauen. Angenommen, Sie hatten 4 Kerne. Sie können eine Photoshop-Datei nehmen und in ein Raster von 4 Bereichen aufteilen und jedem Kern anweisen, 1 Bereich zu zeichnen - alles gleichzeitig. Dies liegt daran, dass ein Pixel in einem Raster keinerlei Auswirkungen auf Pixel in einem anderen Rasterbereich hat. Da Sie ein Foto in mehrere unabhängige Bereiche aufteilen können, können Sie mehrere Kerne zuweisen, um jeden Bereich gleichzeitig zu rendern.
Im Illustrator wird jedoch jedes Objekt in der Reihenfolge gezeichnet, in der es in der Stapelreihenfolge angezeigt wird. Wenn ich also ein Bild in ein Raster von vier Teilen aufteile, muss ich immer noch alle Kunstobjekte für Objekte erstellen, egal in welchem Raster es sich befindet. Das bedeutet, dass alle 4 Kerne noch warten müssen, bis alle Objekte gezeichnet wurden, bevor sie gerendert werden.
Dies bedeutet, dass nur einige Arten von Funktionen Multi-Core-Funktionen in Illustrator unterstützen können. Wenn Sie beispielsweise eine große Datei drucken, übergibt der Illustrator das Druckspooling an einen anderen Kern und kehrt zu Ihrem Dokument zurück, um sofort weiterarbeiten zu können. Leider ist dies nicht möglich, um lineare Aufgaben wie das Zeichnen / Rendern von Kunst zu beschleunigen.
quelle