Eu não estou feliz quando estou renderizando, a menos que eu possa realmente sentir cheiro de plástico queimado, nada é mais frustrante do que o AE dizendo que sua renderização não será concluída até a morte do universo, enquanto, ao mesmo tempo, sua CPU mal está suando. No entanto, há algo que você pode fazer sobre isso.
O After Effects vem com um renderizador de linha de comando chamado aerender.exe plain ol ' aerender no mac). Está na pasta do programa AE. Usá-lo é um pouco desafiador para as pessoas que não estão acostumadas com o poder da linha de comando - = awesome - = , mas definitivamente vale a pena fazer isso se estiver fazendo algum trabalho pesado no After Effects e quiser aproveitar todo o poder poder da sua máquina.
A beleza disso é que você pode executar quantas instâncias quiser. O que normalmente faço é continuar adicionando instâncias até começar a ficar com pouca memória. Eu tenho uma máquina com 40 núcleos físicos e é preciso muito para maximizar a CPU, mas aqui está uma captura de tela onde eu finalmente consegui. Cada uma dessas janelas é uma nova instância do mecanismo de renderização AE:
Nesse exemplo, a velocidade por quadro de cada renderizador quase não diminuiu em comparação com uma única instância, portanto, consegui um aumento de velocidade de aproximadamente 4000%. YMMV, dependendo de quantos núcleos e de quantos RAM sua máquina possui. Fui ao esforço porque tinha um projeto que envolvia composições muito longas e razoavelmente complexas. O projeto simplesmente não teria sido realizado sem essa técnica, ou eu teria que cultivá-lo em uma fazenda de renderização comercial.
Obviamente, a aceleração tem um preço, que é um pequeno aumento na complexidade do seu fluxo de trabalho. Você precisa definir suas composições para renderizar como sequências de imagens e usar as configurações de várias máquinas para que cada representante procure o próximo quadro não renderizado. No final, se você precisar de um arquivo de filme, precisará fazer uma passagem de compactação, mas, no meu caso, eu normalmente domino para uma sequência png ou tiff e, em seguida, corro cópias codificadas em h.264 para clientes do mestre.
E você precisa saber um pouco sobre a linha de comando. Pare de parecer tão triste - isso é uma coisa boa, uma coisa boa.
janelas
A linha de comando do PowerShell que usei nesse cenário foi:
for ($i = 0 ; $i -lt 40; $i++ ){
Start-Process 'C:\Program Files\Adobe\Adobe After Effects <<version>>\Support Files\aerender.exe'-ArgumentList '-project', '"c:\path\to\project.aep"'
sleep 5;
}
Isso é executado em uma janela do PowerShell (digite WindowsRe digite powershell.exe ). Essa é uma linguagem de script de shell integrada às versões modernas do Windows que podem ser usadas para todos os tipos de coisas.
Mac
Usando a versão Bash> 3 (shell padrão nas versões atuais do OSX) ou mesmo com shell mais frios, como o zsh, você pode usar este script:
for i in {1..40}; do
/Applications/Adobe\ After\ Effects\ CC\ 2017/aerender -project ~/Path/to/myproject.aep &
sleep 5
done
O script funciona assim:
- inicia um loop que vale 40 repetições, você pode alterar os 40 para o que achar que é uma quantidade razoável.
- Em seguida, ele inicia o aerender como um novo processo, com o
start-process
comando PS ou com o &
in bash. Obviamente, altere o caminho para aerender.exe / aerender e seu projeto para o que estiver na sua máquina. Uma maneira rápida e precisa de preencher caminhos com a linha de comando é arrastar arquivos e pastas para dentro dela. Também o uso tabde caminhos para preencher automaticamente economiza muitas digitações e erros de digitação.
- Finalmente, ele dorme por 5 segundos - descobri que abrir muitas instâncias do aerender muito rapidamente era uma maneira confiável de entrar em pânico com a tela azul / kernel no meu computador.
Se você tiver várias composições, poderá renderizá-las como filmes, mas iniciar um novo renderizador para cada uma. Se você chamar o aerender.exe assim
aerender.exe -project "c:\path\to\proj.aep" -rqindex 3
ele renderizará a terceira composição na fila de renderização. Colocando-o em um script, você pode fazer:
janelas
$numcomps = 12
$projpath= "C:\path\to\project.aep"
for($i=1; $i -lt ($numcomps+1); $i++){
Start-Process 'C:\Program Files\Adobe\Adobe After Effects <<version>>\Support Files\aerender.exe' -ArgumentList '-project', '$projpath', '-rqindex', '$i'
sleep 5;
}
Mac
for i in {1..12}; do
/Applications/Adobe\ After\ Effects\ CC\ 2017/aerender -project ~/Path/to/myproject.aep -rqindex $i &
sleep 5
done
Isso iniciará uma nova instância do aerender para cada composição - mais uma vez, altere 12 para quantas composições houver na fila. Observe que essa técnica pode ter problemas se você tiver muitas composições em sua fila - se você usar toda a sua memória física, as coisas ficarão tremendo rapidamente. Para manter o número de instâncias baixo, é necessário verificar quantos processos do aerender estão em execução e só iniciar um novo quando um processo em execução terminar. Uma solução mais simples é fazer quantas cópias do seu projeto você desejar que haja instâncias, com a fila de renderização dividida entre elas e, em seguida, renderizá-las todas simultaneamente. Portanto, o segmento de renderização um renderizaria comps 1,2,3, o segmento de renderização dois faria 3,4,5 e assim por diante.
Mais detalhes aqui (meu blog).