Je lance régulièrement un script .jsx dans Adobe Illustrator qui enregistre un tas de fichiers dans un format particulier.
tandis qu'Illustrator est l'application active, l'exécution du script sur 5 fichiers prend 23 secondes .
Lorsque Illustrator n'est pas l'application principale, l'exécution du script sur 5 fichiers prend plus de 5 minutes .
Selon Activity Monitor , Illustrator utilise environ 75% du processeur au premier plan mais est limité à moins de 2% en arrière-plan .
Selon Activity Monitor, App Nap n'est pas utilisé .
Pourquoi cela se produit-il et existe-t-il un moyen de le changer?
J'aimerais pouvoir effectuer d'autres tâches en attendant Illustrator. En l'état, je suis obligé de garder Illustrator au premier plan.
J'ai essayé certaines choses : je savais que
sudo sysctl debug.lowpri_throttle_enabled=0
travaillé pour accélérer les sauvegardes Time Machine, donc je pensais que cela pourrait aider dans ce cas. Cela n'a eu aucun effet .
J'ai également essayé de désactiver App Nap:
defaults write NSGlobalDomain NSAppSleepDisabled -bool YES
Cela n'a eu aucun effet .
J'ai essayé TinkerTool , mais je crois que c'est juste une interface graphique pour changer le paramètre lowpri_throttle_enabled . Cela n'a eu aucun effet .
la source
Cette réponse est de Mordy Golding , chef de produit pour Adobe Illustrator (2001-2004), chez Quora :
Les graphiques vectoriels ont leurs avantages et leurs inconvénients. Malheureusement, c'est l'un des inconvénients. En effet, les graphiques vectoriels sont dessinés dans un ordre d'empilement linéaire.
Prenons un exemple simple - prenez un seul calque avec un seul rectangle. Dupliquez ce calque 100 fois. Même si seul le calque supérieur est visible, l'illustrateur dessine chaque rectangle du calque le plus bas vers le haut. Illustrator ne peut pas dessiner le calque 50 tant que les 49 précédents ne sont pas terminés. Cela ne ressemble pas à Photoshop qui se préoccupe uniquement des pixels qui sont finalement visibles.
Extension du concept. Disons que vous aviez 4 cœurs. Vous pouvez prendre un fichier Photoshop et le diviser en une grille de 4 zones et dire à chaque noyau de dessiner 1 zone - tout en même temps. C'est parce qu'un pixel dans une grille n'a aucun impact sur les pixels dans une autre zone de grille. Comme vous pouvez diviser une photo en plusieurs zones indépendantes, vous pouvez attribuer plusieurs cœurs pour rendre chaque zone simultanément.
Cependant, dans l'illustrateur, chaque objet est dessiné dans l'ordre dans lequel il apparaît dans l'ordre d'empilement. Donc, si je divise une image en une grille de quatre, je dois encore construire tous les objets d'art par objet, quelle que soit la grille dans laquelle elle se trouve.
Cela signifie que seuls certains types de fonctions peuvent prendre en charge la fonctionnalité multicœur dans Illustrator. Par exemple, si vous imprimez un gros fichier, l'illustrateur remettra la file d'attente d'impression à un autre noyau et vous renverra à votre document pour continuer à travailler immédiatement. Mais malheureusement, cela n'est pas possible pour accélérer des tâches linéaires comme le dessin / rendu d'art.
la source