Composição com o AzureRendering using Azure

Renderização é o processo de pegar em modelos 3D e convertê-los em imagens 2D.Rendering is the process of taking 3D models and converting them into 2D images. Os ficheiros de cenas 3D são da autoria de aplicações como Autodesk 3ds Max, Autodesk Maya e Blender.3D scene files are authored in applications such as Autodesk 3ds Max, Autodesk Maya, and Blender. Aplicações de renderização como Autodesk Maya, Autodesk Arnold, Chaos Group V-Ray e Blender Cycles produzem imagens 2D.Rendering applications such as Autodesk Maya, Autodesk Arnold, Chaos Group V-Ray, and Blender Cycles produce 2D images. Às vezes, imagens individuais são criadas a partir dos ficheiros da cena.Sometimes single images are created from the scene files. No entanto, é comum modelar e renderizar múltiplas imagens, e depois combiná-las numa animação.However, it's common to model and render multiple images, and then combine them in an animation.

A carga de trabalho de renderização é fortemente utilizada para efeitos especiais (VFX) na indústria dos Media e Entretenimento.The rendering workload is heavily used for special effects (VFX) in the Media and Entertainment industry. A composição também é utilizada em muitos outros setores, como publicidade, retalho, petróleo e gás e fabrico.Rendering is also used in many other industries such as advertising, retail, oil and gas, and manufacturing.

O processo de renderização é computacionalmente intensivo; pode haver muitos quadros/imagens para produzir e cada imagem pode levar muitas horas para renderizar.The process of rendering is computationally intensive; there can be many frames/images to produce and each image can take many hours to render. A renderização é, portanto, uma carga de trabalho de processamento de lote perfeito que pode alavancar O Lote Azure e Azure para executar muitos renders em paralelo.Rendering is therefore a perfect batch processing workload that can leverage Azure and Azure Batch to run many renders in parallel.

Porquê usar o Azure para renderizar?Why use Azure for rendering?

Por muitas razões, renderização é uma carga de trabalho perfeitamente adequada para O Lote Azure e Azure:For many reasons, rendering is a workload perfectly suited for Azure and Azure Batch:

  • Os trabalhos de renderização podem ser divididos em muitas peças que podem ser executadas em paralelo usando vários VMs:Rendering jobs can be split into many pieces that can be run in parallel using multiple VMs:
    • As animações consistem em muitos quadros e cada quadro pode ser renderizado em paralelo.Animations consist of many frames and each frame can be rendered in parallel. Quanto mais VMs estiverem disponíveis para processar cada quadro, mais rápido todos os quadros e a animação podem ser produzidos.The more VMs available to process each frame, the faster all the frames and the animation can be produced.
    • Alguns softwares de renderização permitem que quadros individuais sejam divididos em várias peças, tais como azulejos ou fatias.Some rendering software allows single frames to be broken up into multiple pieces, such as tiles or slices. Cada peça pode ser renderizada separadamente, depois combinada na imagem final quando todas as peças estiverem terminadas.Each piece can be rendered separately, then combined into the final image when all pieces have finished. Quanto mais VMs estiverem disponíveis, mais rápido uma moldura pode ser renderizada.The more VMs that are available, the faster a frame can be rendered.
  • Projetos de renderização podem exigir uma enorme escala:Rendering projects can require huge scale:
    • Os quadros individuais podem ser complexos e requerem muitas horas para renderizar, mesmo em hardware topo de gama; animações podem consistir em centenas de milhares de quadros.Individual frames can be complex and require many hours to render, even on high-end hardware; animations can consist of hundreds of thousands of frames. Uma enorme quantidade de computação é necessária para renderizar animações de alta qualidade em um tempo razoável.A huge amount of compute is required to render high-quality animations in a reasonable amount of time. Em alguns casos, mais de 100.000 núcleos têm sido usados para tornar milhares de quadros em paralelo.In some cases, over 100,000 cores have been used to render thousands of frames in parallel.
  • Os projetos de renderização são baseados em projetos e requerem quantidades variadas de cálculo:Rendering projects are project-based and require varying amounts of compute:
    • Aloque a capacidade de computação e armazenamento quando necessário, escale-a para cima ou para baixo de acordo com a carga durante um projeto e remova-a quando um projeto estiver concluído.Allocate compute and storage capacity when required, scale it up or down according to load during a project, and remove it when a project is finished.
    • Pague pela capacidade quando atribuído, mas não pague quando não há carga, como entre projetos.Pay for capacity when allocated, but don’t pay for it when there is no load, such as between projects.
    • Atender a rajadas devido a alterações inesperadas; escala maior se houver mudanças inesperadas no final de um projeto e essas mudanças precisam de ser processadas em um calendário apertado.Cater for bursts due to unexpected changes; scale higher if there are unexpected changes late in a project and those changes need to be processed on a tight schedule.
  • Escolha entre uma ampla seleção de hardware de acordo com a aplicação, carga de trabalho e prazo:Choose from a wide selection of hardware according to application, workload, and timeframe:
    • Há uma grande seleção de hardware disponível no Azure que pode ser alocado e gerido com Batch.There’s a wide selection of hardware available in Azure that can be allocated and managed with Batch.
    • Dependendo do projeto, a exigência pode ser para o melhor preço/desempenho ou o melhor desempenho geral.Depending on the project, the requirement may be for the best price/performance or the best overall performance. Diferentes cenas e/ou aplicações de renderização terão diferentes requisitos de memória.Different scenes and/or rendering applications will have different memory requirements. Algumas aplicações de renderização podem alavancar gpus para o melhor desempenho ou certas funcionalidades.Some rendering application can leverage GPUs for the best performance or certain features.
  • Os VMs de baixa prioridade reduzem os custos:Low-priority VMs reduce costs:
    • Os VMs de baixa prioridade estão disponíveis para um grande desconto em comparação com os VMs regulares a pedido e são adequados para alguns tipos de trabalho.Low-priority VMs are available for a large discount compared to regular on-demand VMs and are suitable for some job types.
    • Os VMs de baixa prioridade podem ser atribuídos pelo Lote Azure, com o Batch a oferecer flexibilidade na forma como são utilizados para atender a um vasto conjunto de requisitos.Low-priority VMs can be allocated by Azure Batch, with Batch providing flexibility on how they are used to cater for a broad set of requirements. As piscinas de lotes podem consistir tanto em VMs dedicados como em baixa prioridade, sendo possível alterar a mistura de tipos vM a qualquer momento.Batch pools can consist of both dedicated and low-priority VMs, with it being possible to change the mix of VM types at any time.

Opções para renderização no AzureOptions for rendering on Azure

Existem uma gama de capacidades Azure que podem ser usadas para renderizar cargas de trabalho.There are a range of Azure capabilities that can be used for rendering workloads. Quais as capacidades a utilizar depende de qualquer ambiente e requisitos existentes.Which capabilities to use depends on any existing environment and requirements.

Ambiente de renderização existente no local utilizando uma aplicação de gestão renderizadaExisting on-premises rendering environment using a render management application

O caso mais comum é que exista uma exploração existente no local, sendo gerida por uma aplicação de gestão de renderização como PipelineFX Qube, Royal Render ou Thinkbox Deadline.The most common case is for there to be an existing on-premises render farm being managed by a render management application such as PipelineFX Qube, Royal Render, or Thinkbox Deadline. A obrigação é alargar a capacidade agrícola no local utilizando VMs Azure.The requirement is to extend the on-premises render farm capacity using Azure VMs.

O software de gestão renderização ou tem suporte Azure incorporado ou disponibilizamos plug-ins que adicionam suporte Azure.The render management software either has Azure support built-in or we make available plug-ins that add Azure support. Para obter mais informações sobre os gestores de renderização suportados e funcionalidades habilitadas, consulte o artigo sobre a utilizaçãode gestores de renderização .For more information on the supported render managers and functionality enabled, see the article on using render managers.

Fluxo de trabalho de renderização personalizadaCustom rendering workflow

A exigência é que os VMs aumentem uma exploração de renderização existente.The requirement is for VMs to extend an existing render farm. As piscinas do Lote Azure podem alocar um grande número de VMs, permitir que vMs de baixa prioridade sejam usados e dinamicamente auto-dimensionados com VMs a preços inteiros, e fornecer licenças pay-for-use para aplicações de renderização populares.Azure Batch pools can allocate large numbers of VMs, allow low-priority VMs to be used and dynamically auto-scaled with full-priced VMs, and provide pay-for-use licensing for popular rendering applications.

Nenhuma fazenda de renderização existenteNo existing render farm

As estações de trabalho dos clientes podem estar a realizar renderização, mas a carga de trabalho de renderização está a aumentar e está a demorar muito tempo a utilizar exclusivamente a capacidade da estação de trabalho.Client workstations may be performing rendering, but the rendering workload is increasing and it is taking too long to solely use workstation capacity. O Lote Azure pode ser usado para atribuir a putação agrícola renderizada a pedido, bem como agendar os trabalhos de renderização para a fazenda de renderização Azure.Azure Batch can be used to both allocate render farm compute on-demand as well as schedule the render jobs to the Azure render farm.

Capacidades de renderização do Lote AzureAzure Batch rendering capabilities

O Lote Azure permite que as cargas de trabalho paralelas sejam executadas em Azure.Azure Batch allows parallel workloads to be run in Azure. Permite a criação e gestão de um grande número de VMs em que as aplicações são instaladas e executadas.It enables the creation and management of large numbers of VMs on which applications are installed and run. Também fornece capacidades abrangentes de agendamento de trabalho para executar instâncias dessas aplicações, fornecendo a atribuição de tarefas a VMs, fila, monitorização de aplicações, e assim por diante.It also provides comprehensive job scheduling capabilities to run instances of those applications, providing the assignment of tasks to VMs, queuing, application monitoring, and so on.

O Lote Azure é utilizado para muitas cargas de trabalho, mas as seguintes capacidades estão disponíveis para tornar mais fácil e rápido executar cargas de trabalho de renderização.Azure Batch is used for many workloads, but the following capabilities are available to specifically make it easier and quicker to run rendering workloads.

  • Imagens VM com gráficos pré-instalados e aplicações de renderização:VM images with pre-installed graphics and rendering applications:
    • Estão disponíveis imagens VM do Azure Marketplace que contêm gráficos populares e aplicações de renderização, evitando a necessidade de instalar as aplicações por si mesmo ou criar as suas próprias imagens personalizadas com as aplicações instaladas.Azure Marketplace VM images are available that contain popular graphics and rendering applications, avoiding the need to install the applications yourself or create your own custom images with the applications installed.
  • Licenciamento por pagamento para aplicações de prestação:Pay-per-use licensing for rendering applications:
    • Pode optar por pagar as aplicações ao minuto, além de pagar os VMs computacionais, o que evita ter de comprar licenças e potencialmente configurar um servidor de licença para as aplicações.You can choose to pay for the applications by the minute, in addition to paying for the compute VMs, which avoids having to buy licenses and potentially configure a license server for the applications. Pagar pela utilização também significa que é possível atender a cargavariada e inesperada, uma vez que não existe um número fixo de licenças.Paying for use also means that it is possible to cater for varying and unexpected load as there is not a fixed number of licenses.
    • Também é possível utilizar as aplicações pré-instaladas com as suas próprias licenças e não utilizar o licenciamento pay-per-use.It is also possible to use the pre-installed applications with your own licenses and not use the pay-per-use licensing. Para isso, normalmente instala-se um servidor de licença baseado no Local ou azure e utiliza uma rede virtual Azure para ligar a piscina de renderização ao servidor de licenças.To do this, typically you install an on-premises or Azure-based license server and use an Azure virtual network to connect the rendering pool to the license server.
  • Plug-ins para design de clientes e aplicações de modelação:Plug-ins for client design and modeling applications:
    • Os plug-ins permitem que os utilizadores finais utilizem o Lote Azure diretamente a partir da aplicação do cliente, como a Autodesk Maya, permitindo-lhes criar piscinas, submeter empregos e utilizar mais capacidade de computação para realizar renderizações mais rápidas.Plug-ins allow end-users to utilize Azure Batch directly from client application, such as Autodesk Maya, enabling them to create pools, submit jobs and make use of more compute capacity to perform faster renders.
  • Integração de gestor de renderização:Render manager integration:
    • O Azure Batch está integrado em aplicações de gestão renderizadas ou plug-ins estão disponíveis para fornecer a integração do Lote Azure.Azure Batch is integrated into render management applications or plug-ins are available to provide the Azure Batch integration.

Existem várias formas de utilizar o Lote Azure, que também se aplicam à renderização do Lote Azure.There are several ways to use Azure Batch, all of which also apply to Azure Batch rendering.

  • APIs:APIs:
    • Escreva código utilizando o REST, .NET, Python, Java,ou outras APIs suportadas.Write code using the REST, .NET, Python, Java, or other supported APIs. Os desenvolvedores podem integrar as capacidades do Azure Batch nas suas aplicações ou fluxos de trabalho existentes, seja em nuvem ou com base no local.Developers can integrate Azure Batch capabilities into their existing applications or workflow, whether cloud or based on-premises. Por exemplo, o plug-in Autodesk Maya utiliza a API do Batch Python para invocar o Batch, criar e gerir piscinas, submeter empregos e tarefas e monitorizar o estado.For example, the Autodesk Maya plug-in utilizes the Batch Python API to invoke Batch, creating and managing pools, submitting jobs and tasks, and monitoring status.
  • Ferramentas de linha de comando:Command-line tools:
    • A linha de comando Azure ou Azure PowerShell podem ser utilizadas para a utilização do lote.The Azure command line or Azure PowerShell can be used to script Batch use.
    • Em particular, o suporte do modelo DE Lote CLI torna muito mais fácil criar piscinas e apresentar empregos.In particular, the Batch CLI template support makes it much easier to create pools and submit jobs.
  • UIs:UIs:
    • O Batch Explorer é uma ferramenta de cliente transversal que também permite que as contas do Batch sejam geridas e monitorizadas, mas fornece algumas capacidades mais ricas em comparação com o portal Azure UI.Batch Explorer is a cross-platform client tool that also allows Batch accounts to be managed and monitored, but provides some richer capabilities compared to the Azure portal UI. Um conjunto de modelos de bilhar e de trabalho são fornecidos que são personalizados para cada aplicação apoiada e podem ser usados para criar facilmente piscinas e para apresentar empregos.A set of pool and job templates are provided that are tailored for each supported application and can be used to easily create pools and to submit jobs.
    • O portal Azure pode ser utilizado para gerir e monitorizar o Lote Azure.The Azure portal can be used to manage and monitor Azure Batch.
  • Plug-in de aplicação de cliente:Client application plug-in’s:
    • Estão disponíveis plug-ins que permitem que a renderização do Lote seja utilizada diretamente dentro das aplicações de design e modelação do cliente.Plug-ins are available that allow Batch rendering to be used from directly within the client design and modeling applications. Os plug-ins invocam principalmente a aplicação Batch Explorer com informações contextuais sobre o atual modelo 3D.The plug-ins mainly invoke the Batch Explorer application with contextual information about the current 3D model.
    • Estão disponíveis os seguintes plug-ins:The following plug-ins are available:

Começando com a renderização do Lote AzureGetting started with Azure Batch rendering

Consulte os seguintes tutoriais introdutórios para experimentar a renderização do Lote Azure:See the following introductory tutorials to try Azure Batch rendering:

Próximos passosNext steps

Determine a lista de aplicações e versões de renderização incluídas nas imagens VM do Azure Marketplace neste artigo.Determine the list of rendering applications and versions included on the Azure Marketplace VM images in this article.