Renderização usando Azure

A renderização é o processo de pegar modelos 3D e convertê-los em imagens 2D. Os arquivos de cena 3D são criados em aplicativos como Autodesk 3ds Max, Autodesk Maya e Blender. Aplicativos de renderização como Autodesk Maya, Autodesk Arnold, Chaos Group V-Ray e Blender Cycles produzem imagens 2D. Às vezes, imagens individuais são criadas a partir dos arquivos de cena. No entanto, é comum modelar e renderizar várias imagens e combiná-las em uma animação.

A carga de trabalho de renderização é muito usada para efeitos especiais (VFX) na indústria de Mídia e Entretenimento. A renderização também é usada em muitos outros setores, como publicidade, varejo, petróleo e gás e fabricação.

O processo de renderização é computacionalmente intensivo; pode haver muitos quadros/imagens a serem produzidos e cada imagem pode levar muitas horas para ser renderizada. A renderização é, portanto, uma carga de trabalho de processamento em lote perfeita que pode usar Azure para executar muitas renderizações em paralelo e usar uma ampla gama de hardware, incluindo GPUs.

Por que usar Azure para renderização?

Por muitos motivos, a renderização é uma carga de trabalho perfeitamente adequada para Azure:

  • Trabalhos de renderização podem ser divididos em muitas partes que podem ser executadas em paralelo usando várias VMs:
    • As animações consistem em muitos quadros e cada quadro pode ser renderizado em paralelo. Quanto mais VMs disponíveis para processar cada quadro, mais rápido todos os quadros e a animação podem ser produzidos.
    • Alguns softwares de renderização permitem que quadros únicos sejam divididos em várias partes, como blocos ou fatias. Cada peça pode ser renderizada separadamente e combinada na imagem final quando todas as partes são concluídas. Quanto mais VMs estiverem disponíveis, mais rápido um quadro poderá ser renderizado.
  • A renderização de projetos pode exigir grande escala:
    • Quadros individuais podem ser complexos e exigir muitas horas para renderizar, mesmo em hardware high-end; as animações podem consistir em centenas de milhares de quadros. Uma grande quantidade de computação é necessária para renderizar animações de alta qualidade em um período razoável de tempo. Em alguns casos, mais de 100.000 núcleos estão sendo usados para renderizar milhares de quadros em paralelo.
  • Os projetos de renderização são baseados em projeto e exigem quantidades variadas de computação:
    • Aloque a capacidade de computação e armazenamento quando necessário, dimensione-a para cima ou para baixo de acordo com a carga durante um projeto e remova-a quando um projeto for concluído.
    • Pague pela capacidade quando alocada, mas não pague por ela quando não houver carga, como entre projetos.
    • Lidar com picos causados por alterações inesperadas; escalar mais se houver alterações inesperadas nas fases finais de um projeto e essas alterações precisarem ser processadas dentro de um prazo apertado.
  • Escolha entre uma ampla seleção de hardware de acordo com o aplicativo, a carga de trabalho e o período de tempo:
    • Há uma ampla seleção de recursos de hardware disponíveis no Azure que podem ser alocados e gerenciados com o Batch.
    • Dependendo do projeto, o requisito pode ser para o melhor preço/desempenho ou o melhor desempenho geral. Diferentes cenas e/ou aplicativos de renderização podem ter requisitos de memória diferentes. Alguns aplicativos de renderização podem usar GPUs para o melhor desempenho ou determinados recursos.
  • VMs de baixa prioridade ou Azure Spot VMs reduzem os custos:
    • As VMs Spot e de baixa prioridade estão disponíveis para um grande desconto em comparação com as VMs padrão e são adequadas para alguns tipos de trabalho.

Ambiente de renderização local existente

O caso mais comum é que haja um farm de renderização local existente gerenciado por um aplicativo de gerenciamento de renderização, como PipelineFX Qube, Royal Render, Thinkbox Deadline ou um aplicativo personalizado. O requisito é estender a capacidade do farm de renderização local usando Azure VMs.

Azure infraestrutura e serviços são usados para criar um ambiente híbrido em que Azure é usado para complementar a capacidade local. Por exemplo:

  • Use um Rede Virtual para colocar os recursos Azure na mesma rede que o farm de renderização local.
  • Use Avere vFXT para Azure ou Azure HPC Cache para armazenar em cache arquivos de origem em Azure para reduzir o uso e a latência da largura de banda, maximizando o desempenho.
  • Verifique se o servidor de licença existente está na rede virtual e compre mais licenças conforme necessário para atender à capacidade extra baseada em Azure.

Nenhuma fazenda de renderização existente

As estações de trabalho do cliente podem estar executando a renderização, mas a carga de renderização está aumentando e está demorando muito para usar apenas a capacidade da estação de trabalho.

Há duas opções principais disponíveis:

  • Implante um gerenciador de renderização local, como o Royal Render, e configure um ambiente híbrido para usar Azure quando mais capacidade ou desempenho for necessário. Um gerenciador de renderização é especialmente personalizado para renderizar cargas de trabalho e inclui plug-ins para os aplicativos cliente populares, permitindo o envio fácil de trabalhos de renderização.

  • Uma solução personalizada usando Lote do Azure para alocar e gerenciar a capacidade de computação e fornecer o agendamento de trabalho para executar os trabalhos de renderização.

Próximas Etapas 

Saiba mais sobre Lote do Azure recursos de renderização.