Eu regularmente executo um script .jsx no Adobe Illustrator que salva vários arquivos em um formato específico.
enquanto o Illustrator é o aplicativo ativo, a execução do script em 5 arquivos leva 23 segundos .
Quando o Illustrator não é o aplicativo principal, a execução do script em 5 arquivos leva mais de 5 minutos .
De acordo com o Activity Monitor , o Illustrator está usando cerca de 75% da CPU quando em primeiro plano, mas é acelerado para menos de 2% quando em segundo plano .
De acordo com o Activity Monitor, o App Nap não está sendo usado .
Por que isso está acontecendo e existe uma maneira de mudar isso?
Gostaria de poder executar outras tarefas enquanto aguarda o Illustrator. Tal como está, sou obrigado a manter o Illustrator em primeiro plano.
Algumas coisas que eu tentei : eu sabia que
sudo sysctl debug.lowpri_throttle_enabled=0
trabalhei para acelerar os backups do Time Machine, por isso pensei que poderia ajudar nesse caso. Não teve efeito .
Também tentei desativar o App Nap:
defaults write NSGlobalDomain NSAppSleepDisabled -bool YES
Não teve efeito .
Eu tentei o TinkerTool , mas acredito que é apenas uma GUI para alterar a configuração lowpri_throttle_enabled . Não teve efeito .
fonte
Esta resposta é de Mordy Golding , gerente de produto do Adobe Illustrator (2001-2004), no Quora :
Os gráficos vetoriais têm suas vantagens e desvantagens. Infelizmente, essa é uma das desvantagens. Isso ocorre porque os gráficos vetoriais são desenhados em uma ordem de empilhamento linear.
Tome um exemplo simples - pegue uma única camada com um único retângulo. Duplique essa camada 100 vezes. Mesmo que apenas a camada superior esteja visível, o illustrator desenha cada retângulo da camada inferior da parte superior para a parte superior. O Illustrator não pode desenhar a camada 50 até que os 49 anteriores sejam concluídos. Isso é diferente do photoshop, que se preocupa apenas com quais pixels são visíveis.
Estendendo o conceito ainda mais. Digamos que você tenha 4 núcleos. Você pode pegar um arquivo do photoshop e dividi-lo em uma grade de 4 áreas e dizer a cada núcleo para desenhar 1 área - tudo ao mesmo tempo. Isso ocorre porque um pixel em uma grade não afeta em pixels em outra área da grade. Como você pode dividir uma foto em várias áreas independentes, pode atribuir vários núcleos para renderizar cada área simultaneamente.
No entanto, no ilustrador, cada objeto é desenhado na ordem em que aparece na ordem de empilhamento. Portanto, se eu dividir uma imagem em uma grade de quatro, ainda tenho que construir todos os objetos de arte por objeto, independentemente da grade em que está. Ou seja, todos os quatro núcleos ainda terão que esperar até que todos os objetos sejam desenhados antes da renderização.
O que isso significa é que apenas alguns tipos de funções podem suportar a funcionalidade de vários núcleos no Illustrator. Por exemplo, se você imprimir um arquivo grande, o illustrator entregará o spool de impressão para outro núcleo e retornará ao seu documento para continuar trabalhando imediatamente. Infelizmente, isso não é possível para acelerar tarefas lineares como desenhar / renderizar arte.
fonte