使用 Blender 渲染视频时,Blender 引擎(例如 Cycles 和 Eevee)会处理光照、阴影和纹理的计算,通过模拟光与表面的相互作用,考虑反射、折射和阴影等因素,从而创建逼真的视觉效果。例如,Cycles 使用光线追踪,通过精确模拟光的行为来实现高水平的真实感。
在渲染过程中,渲染引擎将 3D 模型转换为 2D 图像或动画,这在处理复杂场景时可能非常耗时。所需时间取决于各种因素,例如模型的复杂性、光源数量、纹理的分辨率以及渲染设置(例如光线追踪质量)。
当追求具有高级效果的逼真结果时,对计算能力的需求会显著增加,特别是对于全局照明和次表面散射等高级效果。
Blender 中的 GPU 渲染可以显著减少渲染时间与 CPU 渲染相比,尤其是对于复杂场景和高分辨率输出。如前所述,在捷智算平台上使用 NVIDIA A5000 等高性能 GPU 可以显著加快渲染时间,因为 GPU 旨在高效处理并行处理任务,使其成为渲染的理想选择。
本指南将指导您使用捷智算平台上的 NVIDIA A5000 GPU 优化 Blender 渲染,确保高效且经济高效的渲染工作流程。首先,让我们讨论一下虚拟机要求。
VM 渲染规范
在考虑在云端渲染视频的确切规格时,您必须记住项目的大小。以下是一些一般规则:
1、中央处理器:
最低要求:支持 SSE2 的四核 CPU 通常为最低要求。
建议:建议使用 8 核或以上的高主频 CPU,以实现更流畅、更快的渲染,尤其是对于复杂的场景。
考虑因素:云提供商通常提供不同的 CPU 选项,因此请选择一个能够平衡性能和成本的选项。
2、内存:
最低要求:需要 8 GB RAM,但对于复杂的项目来说,需要更多的 RAM。
建议:建议使用 16 GB 或更大容量,以实现更流畅的渲染并避免与内存相关的问题。
注意事项:渲染大型场景或高分辨率视频会消耗大量内存,因此请选择具有足够 RAM 的虚拟机来满足您的需求。
3、图形处理器:
最低要求:专用 GPU 具有至少 2 GB 的 VRAM 和 OpenGL 3.3 支持,这对于 GPU 渲染至关重要。
建议:建议使用具有 8 GB 或更多 VRAM 的强大 GPU,以便更快地渲染和处理复杂的场景。
注意事项:云提供商提供各种 GPU 选项,包括 NVIDIA RTX 系列或同等产品。选择符合您的性能要求和预算的 GPU。
4、内存:
最低限度:确保您有足够的存储空间来容纳您的 Blender 项目文件、纹理和渲染输出。
建议:考虑使用 NVMe SSD 等高性能存储选项,以加快文件传输和渲染速度。
考虑:云提供商提供具有不同性能和成本的不同存储选项。
5、其他因素:
网络带宽:高速互联网连接对于快速传输文件到云虚拟机和从云虚拟机传输文件至关重要。
软件配置:确保 Blender 和任何所需的附加组件在 VM 上正确安装和配置。
请记住,这些只是一般建议。最佳 VM 配置将根据您特定的项目要求而有所不同。
在本指南中,我们将对小型项目使用以下配置:
GPU(1x RTX A5000): NVIDIA RTX A5000 专为专业工作负载而设计,包括 3D 渲染。它具有充足的 VRAM(24GB)来处理复杂的场景和纹理。
CPU(2 个带主机直通的 vCPU):主机直通允许 Blender 直接访问底层硬件,从而最大限度地提高性能。
内存(8 GB):这对于许多 Blender 项目来说已经足够了,但对于更大、更复杂的场景,可能需要更多的内存。
存储(50 GB 启动盘):足以存储 Blender 项目文件、纹理和渲染输出。
我们的配置是 Blender 渲染的良好起点。但是,请在渲染时监控 CPU 和内存使用情况,因为它们可能会成为大型项目的瓶颈。如果遇到性能问题,请考虑升级到具有更多 CPU 核心或 RAM 的 VM。
本指南将讨论在捷智算平台上渲染项目的两种方法。
在虚拟机中下载 Blender
登录虚拟机后,开始的第一步是更新和升级它。
sudo apt update && sudo apt upgrade -y
这需要一点时间来运行。
接下来,我们将安装最新的 Blender 版本。
sudo snap install blender --classic
您可以通过运行以下命令检查 Blender 版本:
blender --version
接下来,创建一个名为 gpus.py 的文件并运行它。该文件将检测可用的 GPU,并可用于调试任何 GPU 问题。
import bpy
def enable_gpus(device_type, use_cpus=False):
preferences = bpy.context.preferences
cycles_preferences = preferences.addons["cycles"].preferences
cycles_preferences.refresh_devices()
devices = cycles_preferences.devices
if not devices:
raise RuntimeError("Unsupported device type")
activated_gpus = []
for device in devices:
if device.type == "CPU":
device.use = use_cpus
print('activated cpu', device.name)
else:
device.use = True
activated_gpus.append(device.name)
print('activated gpu', device.name)
cycles_preferences.compute_device_type = device_type
bpy.context.scene.cycles.device = "GPU"
return activated_gpus
enable_gpus("CUDA", True)
该脚本主要配置 Blender 使用可用的 GPU 执行渲染任务,同时可选择允许使用 CPU。它专门针对支持 CUDA 的 GPU,这些 GPU 通常位于 NVIDIA 显卡(如 A5000)中。
我们将使用 Blender 运行该脚本。
blender -b --python gpus.py --debug-cycles --debug-gpu
blender启动 Blender,-b标志告诉 Blender 以后台模式运行,允许 Blender 在没有图形用户界面 (GUI) 的情况下运行,但仍会执行命令。-- python gpus.py指示 Blender 执行 Python 脚本“gpus.py”。
--debug-cycles标志可启用 Blender 的 Cycles 渲染引擎的调试模式。它将在控制台中提供额外的输出,以帮助诊断问题或更好地了解渲染过程。最后,--debug-gpu标志可启用与 GPU 特别相关的调试。它可能会输出有关 GPU 设备、使用情况或潜在问题的信息。
接下来,我们将下载一个项目文件来看一下它是如何工作的。
下载并渲染项目
Blender 提供了一些可以下载的演示项目并渲染。我们将使用这个测试我们的渲染。
首先,我们将使用 wget(一个用于从互联网下载文件的免费开源命令行实用程序)来下载演示。
wget https://download.blender.org/demo/test/BMW27_2.blend.zip
接下来,我们需要安装unzip工具来解压文件。
apt install unzip
接下来我们解压文件
unzip BMW27_2.blend.zip
接下来,我们可以进行渲染。为此,我们将使用此命令。
blender --python gpus.py -b -noaudio -y ~/bmw27/bmw27_gpu.blend -o ~/bmw27-GPU-####.png -f 1 -- --cycles-device CUDA+CPU
该命令将仅渲染第一帧。帧是单独的图像,按顺序播放时会创建动画。每个帧代表一个时刻。项目中的帧数决定了动画的长度和流畅度。例如,每秒 24 帧 (fps) 的 10 秒动画将有 240 帧。
我们只渲染第一帧以查看渲染引擎是否工作以及渲染一帧需要多长时间。
使用当前的 VM 配置,该过程大约需要 28 秒。当帧渲染完成后,您将看到所花费的时间和节省的时间,以及输出文件的位置。
您可以使用安全复制(SCP)复制输出文件并在本地计算机上查看它。
接下来,您可以使用此命令渲染整个项目。根据许多因素(包括样本大小),这可能需要一些时间才能运行。
blender --python gpus.py -b -noaudio -y ~/bmw27/bmw27_gpu.blend -o ~/bmw27-GPU-####.png -a -- --cycles-device CUDA+CPU
样本大小,即渲染过程中每个像素使用的样本数量,决定了渲染每帧所需的时间。样本还决定了渲染图像的质量,特别是噪声和光线的计算方式。
样本量越大,通常可产生质量更好、噪点更少的图像,但也会增加渲染时间。
运行完成后,您可以复制图像并完成动画过程。
如果您没有像我们一样下载演示,则需要通过 SCP 将项目放入 VM。操作方法如下。
将项目复制到虚拟机
以 .blend 格式创建 blender 项目后,您必须使用 SCP 命令将其复制到 VM。如有必要,您可能还需要复制其他内容,例如您使用的字体文件。
为此,请导航到包含您的项目的文件夹并打开终端。要复制文件,请使用以下命令:
scp [source_file_path] username@hostname:[destination_path]
看起来可能是这样的:
scp User/Blender/projects/model.blend root@100.1.1.1:home/project
这会将您的项目复制到虚拟机。您可以按照概述的步骤来渲染您的项目。
在捷智算平台上使用 NVIDIA RTX A5000 将加快您的 Blender 渲染工作流程。通过优化您的 VM 配置并按照本指南中概述的步骤操作,您可以实现更快、更高效的渲染,而无需昂贵的硬件投资。
捷智算是灵活、可扩展且经济高效的平台,让您专注于您的创意愿景,同时将繁重的计算工作转移给强大的远程资源。