您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

使用 Azure 进行渲染Rendering using Azure

渲染是创建 3D 模型并将其转换为 2D 图像的过程。Rendering is the process of taking 3D models and converting them into 2D images. 在 Autodesk 3ds Max、Autodesk Maya 和 Blender 等应用程序中创作 3D 场景文件。3D scene files are authored in applications such as Autodesk 3ds Max, Autodesk Maya, and Blender. Autodesk Maya、Autodesk Arnold、Chaos Group V-Ray 和 Blender Cycles 等渲染应用程序可生成 2D 图像。Rendering applications such as Autodesk Maya, Autodesk Arnold, Chaos Group V-Ray, and Blender Cycles produce 2D images. 有时,可以从场景文件创建单一的图像。Sometimes single images are created from the scene files. 但是,常见的操作是建模并渲染多个图像,然后将其组合成动画。However, it's common to model and render multiple images, and then combine them in an animation.

传媒娱乐行业往往使用渲染工作负荷来生成特效 (VFX)。The rendering workload is heavily used for special effects (VFX) in the Media and Entertainment industry. 广告、零售、石油和天然气及制造等其他众多行业也会使用渲染。Rendering is also used in many other industries such as advertising, retail, oil and gas, and manufacturing.

渲染过程属于计算密集型工作;要生成的帧/图像数可能很多,而渲染每个图像可能需要大量的时间。The process of rendering is computationally intensive; there can be many frames/images to produce and each image can take many hours to render. 因此,呈现是一项完美的批处理工作负荷,可以利用 Azure 并行运行多个呈现并使用各种硬件,包括 Gpu。Rendering is therefore a perfect batch processing workload that can leverage Azure to run many renders in parallel and utilize a wide range of hardware, including GPUs.

为何使用 Azure 进行渲染?Why use Azure for rendering?

出于许多原因,呈现是非常适合 Azure 的工作负荷:For many reasons, rendering is a workload perfectly suited for Azure:

  • 可将渲染作业拆分为多个片段,然后使用多个 VM 并行运行这些片段:Rendering jobs can be split into many pieces that can be run in parallel using multiple VMs:
    • 动画由许多帧组成,每个帧可以并行渲染。Animations consist of many frames and each frame can be rendered in parallel. 可用于处理每个帧的 VM 越多,生成所有帧和动画的速度就越快。The more VMs available to process each frame, the faster all the frames and the animation can be produced.
    • 某些渲染软件允许将单个帧分解为多个片段,例如平铺图像或切片。Some rendering software allows single frames to be broken up into multiple pieces, such as tiles or slices. 每个片段可以单独渲染,并在完成所有片段后合并成最终的图像。Each piece can be rendered separately, then combined into the final image when all pieces have finished. 可用的 VM 越多,渲染帧的速度就越快。The more VMs that are available, the faster a frame can be rendered.
  • 渲染项目可能需要庞大的规模:Rendering projects can require huge scale:
    • 单个帧可能很复杂,即使在高端硬件上,也需要花费多个小时才能完成渲染;而动画可能由几十万个帧组成。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. 优质动画需要占用大量的计算资源,才能在合理的时间内完成渲染。A huge amount of compute is required to render high-quality animations in a reasonable amount of time. 在某些情况下,并行渲染数千个帧需要使用 100,000 多个核心。In some cases, over 100,000 cores have been used to render thousands of frames in parallel.
  • 渲染项目基于项目,需要不同数量的计算资源:Rendering projects are project-based and require varying amounts of compute:
    • 根据需要分配计算和存储容量,根据项目期间的负载扩展或缩减容量,并在完成项目后删除容量。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.
    • 为分配的容量付费,没有负载时不需要付费(例如,在项目切换时)。Pay for capacity when allocated, but don’t pay for it when there is no load, such as between projects.
    • 为意外变化导致的需求喷发做好准备;如果以后项目发生意外的变化,并且需要在短时间内处理好这些变化,则可以进行扩展。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.
  • 根据应用程序、工作负荷和时间范围,从各种硬件中进行选择:Choose from a wide selection of hardware according to application, workload, and timeframe:
    • Azure 中提供了可以使用 Batch 进行分配和管理的各种硬件。There’s a wide selection of hardware available in Azure that can be allocated and managed with Batch.
    • 根据具体的项目,要求可能体现在最佳性价比或者最佳总体性能方面。Depending on the project, the requirement may be for the best price/performance or the best overall performance. 不同的场景和/或渲染应用程序具有不同的内存要求。Different scenes and/or rendering applications will have different memory requirements. 某些渲染应用程序可以利用 GPU 来获得最佳性能或某些功能。Some rendering application can leverage GPUs for the best performance or certain features.
  • 低优先级 Vm 或 点 vm 降低成本:Low-priority or Spot VMs reduce cost:
    • 与标准 Vm 相比,低优先级和专色 Vm 可提供较大的折扣,适用于某些作业类型。Low-priority and Spot VMs are available for a large discount compared to standard VMs and are suitable for some job types.

现有的本地呈现环境Existing on-premises rendering environment

最常见的情况是,现有的本地呈现场由呈现管理应用程序(如 PipelineFX Qube、皇家 Render、Thinkbox 截止时间或自定义应用程序)管理。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, Thinkbox Deadline, or a custom application. 要求是使用 Azure VM 扩展本地渲染场的容量。The requirement is to extend the on-premises render farm capacity using Azure VMs.

使用 azure 基础结构和服务来创建混合环境,在此环境中,Azure 用于补充本地容量。Azure infrastructure and services are used to create a hybrid environment where Azure is used to supplement the on-premises capacity. 例如:For example:

  • 使用 虚拟网络 将 Azure 资源置于与本地呈现服务器场相同的网络上。Use a Virtual Network to place the Azure resources on the same network as the on-premises render farm.
  • 使用 适用于 azure 的 Avere vFXTazure HPC 缓存 来缓存 azure 中的源文件,以减少带宽使用和延迟,从而最大程度地提高性能。Use Avere vFXT for Azure or Azure HPC Cache to cache source files in Azure to reduce bandwidth use and latency, maximizing performance.
  • 请确保现有许可证服务器位于虚拟网络上,并购买额外的许可证,以满足额外的基于 Azure 的容量需求。Ensure the existing license server is on the virtual network and purchase the additional licenses required to cater for the extra Azure-based capacity.

没有现有的渲染场No existing render farm

客户端工作站可能正在执行渲染,但渲染负载正在增加,并且使用工作站容量的时间太长。Client workstations may be performing rendering, but the rendering load is increasing and it is taking too long to solely use workstation capacity.

提供两个主要选项:There are two main options available:

  • 部署本地呈现管理器(如皇家 Render),并配置混合环境,以在需要更多容量或性能时使用 Azure。Deploy an on-premises render manager, such as Royal Render, and configure a hybrid environment to use Azure when further capacity or performance is required. 呈现管理器专门针对呈现工作负荷进行定制,并包含常用客户端应用程序的插件,从而可以轻松地提交渲染作业。A render manager is specifically tailored for rendering workloads and will include plug-ins for the popular client applications, enabling easy submission of rendering jobs.

  • 一个自定义解决方案,该解决方案使用 Azure Batch 分配和管理计算能力,并提供作业计划以运行渲染作业。A custom solution using Azure Batch to allocate and manage the compute capacity as well as providing the job scheduling to run the render jobs.

后续步骤Next steps

了解如何 使用 Azure 基础结构和服务来扩展现有的本地呈现场Learn how to use Azure infrastructure and services to extend an existing on-premises render farm.

详细了解 Azure Batch 呈现功能Learn more about Azure Batch rendering capabilities.