From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Renderizando Cenas bem Cabeludas ou acelerando a Renderização

Tempos esperados de Renderização de alta qualidade em uma Máquina com Oito Processadores

"Uma leiteira que é vigiada nunca ferve" é o que os mais velhos dizem, mas você pode estar pensando o por que de suas renderizações levarem tanto tempo para ficarem prontas, ou pior, as vezes até mesmo travarem no meio do caminho ! Bem, há uma série de coisas que podem acontecer e coisas que você pode fazer para acelerar a renderização ou fazer com que uma renderização complicada termine efetivamente. Portanto, é possível renderizar uma cena bem complexa em um PC medíocre usando técnicas inteligentes-de-renderização. Aqui mostramos uma lista das dicas "Top Ten" (Dez melhores) para serem feitas ou não para conseguir acelerar a renderização e/ou mesmo evitar travamentos na renderização de cenas. Algumas opções podem diminuir a qualidade de sua renderização, mas para renderizações de testes ( chamadas de Drafts ou Pré-probes) é provável que voicê não se importe.

Caso você tenha a mensagem "Malloc returns nil" (A alocação de memória retornou Nulo) em inglês, significa que o alocador de memória tentou obter mais memória física para o Blender mas voltou de mãos vazias. Isso significa que você não possui memória suficiente disponível para renderizar a Cena, e o Blender não pode continuar. Você precisará fazer um ou mais das seguintes tarefas nesta página de maneira a conseguir renderizar.

Melhorias em seu Equipamento (Hardware)

  1. Dê maiores limites de memória RAM ao seu PC (Tanto para a placa mãe, quanto verificar se seu sistema operacional a comporta). Presentemente, o Blender pode utilizar até 8G (Gigabytes) de memória física (em espaços de endereçamento de memória de 64-Bits), mas a maior parte dos PCs somente pode manusear 2G (Gigabytes) de memória RAM (Quando equipados com Sistemas Operacionais Microsoft de 32 Bits, sem Switch de 3GB habilitado), Caso você queira oferecer todo o espaço físico de memória de seu PC ao Blender, recomendo utilizar sistemas Operacionais baseados em Linux/Unix, ou 'outros' com suporte a 64Bits (Dica por: Ivan Paulos Tomé – Greylica).
  2. Atualize a sua CPU para um processador do tipo "multi-core" (com mais núcleos)
  3. Atualize os seus drivers de vídeo para trabalhar melhor com OpenGL.
  4. Use um transporte de comunicação de memória mais rápido (bus).
  5. Use memórias mais rápidas, até o limite da placa mãe de seu PC. As memórias de 667MHz são em média 30% mais lentas do que as que trabalham em 800MHz.
  6. Utilize ou configure uma "Render Farm" (Fazenda de Renderização) em sua casa, utilizando todos os seus PCs disponíveis, ou utilize uma "Render Farm" (Fazenda de Renderização) externa, como a BURP.

Configuração de Sistema Operacional

  1. Aumente a prioridade de processamento do Blender através de seu Sistema Operacional.
  2. Aumente o tamanho de espaço de seu "Swap File" (Arquivo de Troca) utilizado para que seu Sistema Operacional troque dados em caso de falta de memória. Também chamado de Memória Virtual ou "Memory Pagefile Size" (Tamanho de arquivo de Memória Paginada em Arquivo), até o tamanho de sua memórias física.
  3. Faça uma atualização para um Sistema Operacional de 64-Bits, caso seu hardware comporte.
  4. Saia ou pare quaisquer processos que estejam rodando em "background" (plano de fundo), como escaneamento de Anti-Virus, BOINC, Real, e até mesmo aqueles "inativos" como o do Quicktime, por que eles randomicamente começam a procurar atualizações. Eles também ocupam a sua memória RAM.
  5. Desabilite conexões de rede para que estas parem de executar operações de ping para saber sobre o tráfego e atualizá-lo.
  6. Pare de escutar Rádios via Internet e feche os Navegadores de Internet, especialmente quaisquer sites de multi-mídia (Áudio/Vídeo/Games).
  7. Feche todas as outras aplicações que estiverem rodando, como Aplicativos Formatadores de Textos.
  8. Saia de todas as TSRs (aqueles aplicativos que ficam ao lado do relógio) e ajudantes/brinquedos de área de trabalho (widgets), e quaisquer processos em "background" (plano de fundo), possivelmente até mesmo o seu Anti-Vírus, caso seja possível.

Escolhas presentes no Blender

  1. Aumente o valor de MEM Cache Limit dentro das Preferências de Usuário, dentro da Aba System & OpenGL.
  2. Atualize para uma versão de construção otimizada do Blender, especialmente se você possui um processador moderno que suporte instruções como SSE2 – que podem acelerar a renderização em até 30%, utilizando uma construção de Blender otimizada para tirar vantagem dessa tecnologia.
  3. Alterne para uma câmera do tipo Ortográfica, e renderize suas próprias partes da cena como imagens separadas, e então cole estas partes juntamente no GIMP. Um velho truque para fazer sua própria visão panorâmica com uma câmera Real é tirar três ou mais figuras de uma Cena bem ampla (Como a Cena de um por do Sol na Praia), aonde você pega uma figura, a rotaciona para a direita, cola outra, e outra, e então mais outra, e quando você tiver as figuras montadas, você as remonta de uma maneira que possa fazer uma Imagem de uma paisagem ampla. Faça o mesmo no Blender, renderize uma tomada (shot) para um arquivo, e então mova a câmera para observar em uma área diferente da Cena, e renderize esta tomada. Cada tomada será de uma área menor e portanto vai ser tomada em poucos polígonos/faces. Tenha certeza de que quando você posicionar a sua câmera, de que não tenha sobreposto essas tomadas, para que você consiga fazer com que o encaixe destas batam. Caso você não queria utilizar o Gimp, Você pode utilizar os Nós de Composição e o Nó de translação para que elas se encaixem no Blender.
  4. Minimize a Janela de Renderização (e o Blender caso esteja renderizando em uma Janela Interna). Usuários de placas gráficas ATI reportaram uma aceleração dramática em uma base por-quadro, o que aumenta o tamanho de alcance do campo de quadros renderizados por período.
  5. Utilize o Script Big Render para renderizar sub-seções da Imagem em uma Visão geral, e então as cole em conjunto.
  6. Faça uma construção personalizada do Blender para seu equipamento. Por exemplo, comente a linha que checa por non_flat_quads em convertblender.c, isso em alguns casos pode fazer uma diferença notável de 20-40%, mas é claro, depende de seu uso.

A Cena e Objetos Específicos

  1. Remova as lâmpadas, ou as mova para "layers" (camadas) não renderizadas, ou as amarre somente com "layers" (camadas) nas quais devem parecer funcionais.
  2. Desligue algumas sombras de lâmpadas, utilizando somente uma ou duas lâmpadas tipo Sun para lançar as sombras. Umas poucas lâmpadas do tipo "shadow only" irão renderizar mais rapidamente do que todas as lâmpadas da cena possuindo sombras ligadas.
  3. Utilize Sombras do tipo Buffered ao invés de Sombras traçadas por Raios.
  4. Execute a operação de Bake nas suas sombras utilizando a opção de Render Baking Full Render, para executar o render bake em superfícies que não se movem. Utilizando então essa textura para essa Malha, e então desabilitando as sombras para este material especificamente.
  5. Simplifique o máximo possível as suas Malhas (Remova polígonos desnecessários). Quanto mais vértices você possuir em uma câmera, mais tempo demorará para renderizar.
  6. Remova Vértices e Faces duplicadas, ou utilize a funcionalidade do Modificador Decimator para Malhas.
  7. Remova modificadores do tipo Subsurfe Multires quando não necessários.
  8. Delete as partes de trás das Malhas (Removendo vértices que não são vistos/detectados)
  9. Renderize somente alguns Objetos de uma Vez, e dentro do início de seu projeto, renderize somente os Objetos que compõem o "background" (plano de fundo) (chamados também de props) e configure aqueles que você não vai alterar e que sempre estarão em "background" (plano de fundo) primeiramente.
  10. Coloque coisas como prédios em outra camada, e através de "Renderlayers" (Camadas de Renderização), não os renderize. Então os componha mais tarde.
  11. Faça com que a Câmera seja estática para que você possa conseguir realizar as duas ideias acima.
  12. Evite a utilização de Lâmpadas tipo Área.
  13. Faça com que alguns Materiais (que possam ser) sejam do tipo Shadeless
  14. Execute a operação de Render Bake para AO e Texturas, e então faça com que esses Materiais sejam do tipo Shadeless
  15. Diminua a distância de corte para lâmpadas do tipo Spot.
  16. Diminua a distância de corte para a Câmera.
  17. Desligue o AO para o World.
  18. Desligue o SSS no Material até a finalização.
  19. Utilize Texturas de Imagem menores. Uma imagem de 256x256 necessita de somente 1% do que uma Imagem de 2k necessita, muitas vezes com nenhuma perda de qualidade na Renderização final.
  20. Reduza o nível de Subsurf. Cada nível quadruplica (4x) o número de faces do nível anterior.
  21. Reduza o nível de Multires.
  22. Execute uma "matte render" (renderização de pintura) de para fazer os Objetos que aparecem em "background" (plano de fundo), como os prédios, e os coloque na Imagem como se fossem um letreiro ao invés de utilizar o Objeto em si. Isto vai reduzir a contagem de faces/vértices.
  23. Caso você tenha uma grande quantidade de instâncias ligadas de Objetos, utilize Duplifaces, por que estes são Objetos instanciados. Caso você tenha 100 deles, o Blender somente irá guardar a geometria para uma. (As instâncias em si ocupam um pequeno montante de memória).

Configurações de Renderização

  • Painel de "Output" (Saída)
    1. Desabilite a renderização de "Edge" (Arestas).
    2. Utilize a funcionalidade Save Buffers, para guardar camadas de montagem em seu disco rígido.
    3. Renderize para uma Janela do Editor de Imagens,e não em uma Janela tipo Popup de Janela de Renderização.
    4. Utilize múltiplas "Threads" (Tarefas) em um PC multi-core (Configurando múltiplas "Parts" (Partes)).
  • Painel de "Render Layers" (Camadas de Renderização)
    1. Renderize somente "Layers" (Camadas) que sejam de interesse.
    2. Renderize com todas as luzes configuradas para um simples alvo (entre com o seu nome dentro do campo Light:)
    3. Renderize com um descarte de Material (entre com o seu nome dentro do campo Mat:)
    4. Desabilite Passos de Renderização desnecessários, como Z, ou somente renderize os passos de interesse, como Diffuse.
  • Painel de Renderização
    1. Desligue as "Shadows" (Sombras)
    2. Desligue "Environment Mapping" (Mapeamento de Ambiente)
    3. Desligue "Panoramic Rendering" (Rendrização Panorâmica)
    4. Desligue "Raytracing" (Traçador de Raios)
    5. Desligue "Radiosity" (Radiosidade)
    6. Desligue SSS → Subsurface Scattering
    7. Desligue ou diminua a quantidade de passos de Oversampling/Anti-Aliasing OSA
    8. Desligue ou diminua o valor de "Motion Blur" (Borrão de Movimento)
    9. Renderize em Partes. Isto também irá permitir a você renderizar imagens MUITO GRANDES em um PC MUITO FRACO. Em um computador Multi-Core, ele vai designar uma tarefa para cada parte também.
    10. Aumente o valor de Resolução de Octree.
    11. Renderize em uma percentagem de sua resolução final (como 25%)
    12. Desligue a Renderização com "Fields" (Campos Interpolados).
    13. Utilize a renderização por "Border" (Bordas) para renderizar uma pequena parte da Imagem Integral.
  • Painel Anim
    1. Diminua a contagem de quadros da Animação (e utilize uma taxa de quadros menor para a mesma duração da animação). Por exemplo, renderize 30 quadros a 10 quadros por segundo para uma animação de 3 segundos, ao invés de 75 quadros em 25 quadros por segundo para a mesma animação.
  • Painel Bake
    1. Execute a operação de Bake Full Render – e crie uma Textura UV que coloriza os Objetos baseado em seus Materiais, e então utilize essa Textura UV configurada como Shadeless ao invés do Material – isso é 7x mais rápido:


    2. Execute a operação de Bake para "Ambient Occlusion" (Oclusão de Ambiente) somente.
    3. Execute a operação de Bake das Texturas para Objetos.
    4. A execução de Bake para Normals ou para Displacement não acelera o tempo de renderização, e são utilizadas para outros tipos de coisas.
  • Painel Format
    1. Renderize em uma Resolução mais baixa. Figuras menores levam menos tempo para renderizar.
    2. Escolha um CODEC mais rápido ou melhores configurações para o CODEC escolhido.
    3. Renderize em Preto e Branco (Através do botão BW)
    4. Caso esteja utilizando FFMPEG, não ative Multiplex audio
    5. Caso esteja utilizando FFMPEG, utilize o botão Autosplit Output (Dentro do Painel Video)
    6. Renderize somente RGB caso você precise apenas de cores; A geração do canal de Alfa (botão RGBA) utiliza mais memória e é inútil quando estiver gerando um filme diretamente.

Outra Maneira de Fazer Isto: Composição

Uma outra estratégia que pode ser utilizada para endereçar o problema de tempos de renderização longos e retrabalhos. É estruturar o seu ciclo de trabalho a partir do início para que você possa fazer um uso mais agressivo de técnicas de composição, como descrito na seção que aborda a Pós- produção. Aqui, você procura quebrar em partes menores cada componente de sua tomada que podem ser renderizados separadamente, e então combinados posteriormente para criar o clipe de vídeo finalizado. Por instância:

  • Caso a câmera não esteja se movendo, e nem o plano de fundo: somente um único quadro é necessário. O mesmo é verdade para qualquer Objeto que não se movimente dentro do quadro.
  • Ambas as sombras e realces podem ser capturadas separadamente a partir dos Objetos que estão sendo iluminados ou sombreados, como a intensidade, cores. E a profundidade do efeito pode ser ajustada mais tarde sem a necessidade de renderizar novamente.
  • Situações de iluminação complicadas podem ser evitadas pelo manuseamento de Objetos separadamente, e então combinando individualmente os cortes renderizados e ajustando o resultado.

Existem algumas vezes, vantagens compensadoras nesta abordagem:

  • Na prática, o matador da "deadline" (linha da morte) (limite de tempo de entrega do projeto) é a repetição da renderização, que ordinariamente deverá ser feita (em sua totalidade) somente porque "'uma pequena coisa' na tomada está errada". A composição ajuda a evitar isto, porque (idealmente...) somente partes específicas que forem encontradas com erros deverão ser repetidas.
  • Pode ser que tudo o que você necessite fazer seja repetir o(s) passo(s) da composição final. Por exemplo, para fazer com que uma sombra fique mais escura, altere a cor da luz, ou ajuste a temporização da luz. Estas mudanças podem usualmente ser refeitas no-foco ou no-ponto-objetivo. Quando se usam cenários largos e amplos, alguns destes palcos podem trabalhar de maneira quase bi-dimensional, e a manipulação pode ser o que nesse período de tempo seria somente "um Bitmap rasterizado com R, G, B, Alfa (Transparência...) e informação de profundidade Z," portanto eles são consistentemente rápidos.
  • Pelo fato de cada tarefa de renderização pequena ser simplificada, o computador pode executá-la com o uso de muito menos recursos.
  • As tarefas podem ser distribuídas ao longo de computadores muito diferentes... até mesmo alguns que são menos poderosos (como aquelas duas máquinas mais velhas que estão guardadas dentro de seu armário agora porque você não pode se livrar delas).

Claro, esta abordagem não vem sem o seu conjunto de concessões. Você deve visar obter um sistema de manipulação de conjuntos funcionais para manter uma noção do material exato que possui, aonde ele está, se está atualizado e exatamente como recriá-lo. Você deve entender e utilizar o sistema de funcionalidade de "library linking" (ligação em bibliotecas) do Blender para permitir a você se referir a Objetos, Nós, Materiais, Texturas e Cenas em uma coleção cuidadosamente organizada de outros arquivos. Você precisa ter uma clara noção, exatamente antecipada do que a tomada da Imagem finalizada deve ser consistida, e do que as partes menores desta tarefa serão. Você deverá ser um tomador de notas escrupuloso e manter as suas gravações. Mas algumas vezes este é o melhor caminho, se não o único, de conseguir uma produção substancial.