使用 Blender 渲染視頻時,Blender 引擎(例如 Cycles 和 Eevee)會處理光照、陰影和紋理的計算,通過模擬光與表面的相互作用,考慮反射、折射和陰影等因素,從而創(chuàng)建逼真的視覺效果。例如,Cycles 使用光線追蹤,通過精確模擬光的行為來實(shí)現(xiàn)高水平的真實(shí)感。
在渲染過程中,渲染引擎將 3D 模型轉(zhuǎn)換為 2D 圖像或動畫,這在處理復(fù)雜場景時可能非常耗時。所需時間取決于各種因素,例如模型的復(fù)雜性、光源數(shù)量、紋理的分辨率以及渲染設(shè)置(例如光線追蹤質(zhì)量)。
當(dāng)追求具有高級效果的逼真結(jié)果時,對計算能力的需求會顯著增加,特別是對于全局照明和次表面散射等高級效果。
Blender 中的 GPU 渲染可以顯著減少渲染時間與 CPU 渲染相比,尤其是對于復(fù)雜場景和高分辨率輸出。如前所述,在捷智算平臺上使用 NVIDIA A5000 等高性能 GPU 可以顯著加快渲染時間,因為 GPU 旨在高效處理并行處理任務(wù),使其成為渲染的理想選擇。
本指南將指導(dǎo)您使用捷智算平臺上的 NVIDIA A5000 GPU 優(yōu)化 Blender 渲染,確保高效且經(jīng)濟(jì)高效的渲染工作流程。首先,讓我們討論一下虛擬機(jī)要求。
VM 渲染規(guī)范
在考慮在云端渲染視頻的確切規(guī)格時,您必須記住項目的大小。以下是一些一般規(guī)則:
1、中央處理器:
最低要求:支持 SSE2 的四核 CPU 通常為最低要求。
建議:建議使用 8 核或以上的高主頻 CPU,以實(shí)現(xiàn)更流暢、更快的渲染,尤其是對于復(fù)雜的場景。
考慮因素:云提供商通常提供不同的 CPU 選項,因此請選擇一個能夠平衡性能和成本的選項。
2、內(nèi)存:
最低要求:需要 8 GB RAM,但對于復(fù)雜的項目來說,需要更多的 RAM。
建議:建議使用 16 GB 或更大容量,以實(shí)現(xiàn)更流暢的渲染并避免與內(nèi)存相關(guān)的問題。
注意事項:渲染大型場景或高分辨率視頻會消耗大量內(nèi)存,因此請選擇具有足夠 RAM 的虛擬機(jī)來滿足您的需求。
3、圖形處理器:
最低要求:專用 GPU 具有至少 2 GB 的 VRAM 和 OpenGL 3.3 支持,這對于 GPU 渲染至關(guān)重要。
建議:建議使用具有 8 GB 或更多 VRAM 的強(qiáng)大 GPU,以便更快地渲染和處理復(fù)雜的場景。
注意事項:云提供商提供各種 GPU 選項,包括 NVIDIA RTX 系列或同等產(chǎn)品。選擇符合您的性能要求和預(yù)算的 GPU。
4、內(nèi)存:
最低限度:確保您有足夠的存儲空間來容納您的 Blender 項目文件、紋理和渲染輸出。
建議:考慮使用 NVMe SSD 等高性能存儲選項,以加快文件傳輸和渲染速度。
考慮:云提供商提供具有不同性能和成本的不同存儲選項。
5、其他因素:
網(wǎng)絡(luò)帶寬:高速互聯(lián)網(wǎng)連接對于快速傳輸文件到云虛擬機(jī)和從云虛擬機(jī)傳輸文件至關(guān)重要。
軟件配置:確保 Blender 和任何所需的附加組件在 VM 上正確安裝和配置。
請記住,這些只是一般建議。最佳 VM 配置將根據(jù)您特定的項目要求而有所不同。
在本指南中,我們將對小型項目使用以下配置:
GPU(1x RTX A5000): NVIDIA RTX A5000 專為專業(yè)工作負(fù)載而設(shè)計,包括 3D 渲染。它具有充足的 VRAM(24GB)來處理復(fù)雜的場景和紋理。
CPU(2 個帶主機(jī)直通的 vCPU):主機(jī)直通允許 Blender 直接訪問底層硬件,從而最大限度地提高性能。
內(nèi)存(8 GB):這對于許多 Blender 項目來說已經(jīng)足夠了,但對于更大、更復(fù)雜的場景,可能需要更多的內(nèi)存。
存儲(50 GB 啟動盤):足以存儲 Blender 項目文件、紋理和渲染輸出。
我們的配置是 Blender 渲染的良好起點(diǎn)。但是,請在渲染時監(jiān)控 CPU 和內(nèi)存使用情況,因為它們可能會成為大型項目的瓶頸。如果遇到性能問題,請考慮升級到具有更多 CPU 核心或 RAM 的 VM。
本指南將討論在捷智算平臺上渲染項目的兩種方法。
在虛擬機(jī)中下載 Blender
登錄虛擬機(jī)后,開始的第一步是更新和升級它。
sudo apt update && sudo apt upgrade -y
這需要一點(diǎn)時間來運(yùn)行。
接下來,我們將安裝最新的 Blender 版本。
sudo snap install blender --classic
您可以通過運(yùn)行以下命令檢查 Blender 版本:
blender --version
接下來,創(chuàng)建一個名為 gpus.py 的文件并運(yùn)行它。該文件將檢測可用的 GPU,并可用于調(diào)試任何 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 執(zhí)行渲染任務(wù),同時可選擇允許使用 CPU。它專門針對支持 CUDA 的 GPU,這些 GPU 通常位于 NVIDIA 顯卡(如 A5000)中。
我們將使用 Blender 運(yùn)行該腳本。
blender -b --python gpus.py --debug-cycles --debug-gpu
blender啟動 Blender,-b標(biāo)志告訴 Blender 以后臺模式運(yùn)行,允許 Blender 在沒有圖形用戶界面 (GUI) 的情況下運(yùn)行,但仍會執(zhí)行命令。-- python gpus.py指示 Blender 執(zhí)行 Python 腳本“gpus.py”。
--debug-cycles標(biāo)志可啟用 Blender 的 Cycles 渲染引擎的調(diào)試模式。它將在控制臺中提供額外的輸出,以幫助診斷問題或更好地了解渲染過程。最后,--debug-gpu標(biāo)志可啟用與 GPU 特別相關(guān)的調(diào)試。它可能會輸出有關(guān) GPU 設(shè)備、使用情況或潛在問題的信息。
接下來,我們將下載一個項目文件來看一下它是如何工作的。
下載并渲染項目
Blender 提供了一些可以下載的演示項目并渲染。我們將使用這個測試我們的渲染。
首先,我們將使用 wget(一個用于從互聯(lián)網(wǎng)下載文件的免費(fèi)開源命令行實(shí)用程序)來下載演示。
wget https://download.blender.org/demo/test/BMW27_2.blend.zip
接下來,我們需要安裝unzip工具來解壓文件。
apt install unzip
接下來我們解壓文件
unzip BMW27_2.blend.zip
接下來,我們可以進(jìn)行渲染。為此,我們將使用此命令。
blender --python gpus.py -b -noaudio -y ~/bmw27/bmw27_gpu.blend -o ~/bmw27-GPU-####.png -f 1 -- --cycles-device CUDA+CPU
該命令將僅渲染第一幀。幀是單獨(dú)的圖像,按順序播放時會創(chuàng)建動畫。每個幀代表一個時刻。項目中的幀數(shù)決定了動畫的長度和流暢度。例如,每秒 24 幀 (fps) 的 10 秒動畫將有 240 幀。
我們只渲染第一幀以查看渲染引擎是否工作以及渲染一幀需要多長時間。
使用當(dāng)前的 VM 配置,該過程大約需要 28 秒。當(dāng)幀渲染完成后,您將看到所花費(fèi)的時間和節(jié)省的時間,以及輸出文件的位置。
您可以使用安全復(fù)制(SCP)復(fù)制輸出文件并在本地計算機(jī)上查看它。
接下來,您可以使用此命令渲染整個項目。根據(jù)許多因素(包括樣本大小),這可能需要一些時間才能運(yùn)行。
blender --python gpus.py -b -noaudio -y ~/bmw27/bmw27_gpu.blend -o ~/bmw27-GPU-####.png -a -- --cycles-device CUDA+CPU
樣本大小,即渲染過程中每個像素使用的樣本數(shù)量,決定了渲染每幀所需的時間。樣本還決定了渲染圖像的質(zhì)量,特別是噪聲和光線的計算方式。
樣本量越大,通常可產(chǎn)生質(zhì)量更好、噪點(diǎn)更少的圖像,但也會增加渲染時間。
運(yùn)行完成后,您可以復(fù)制圖像并完成動畫過程。
如果您沒有像我們一樣下載演示,則需要通過 SCP 將項目放入 VM。操作方法如下。
將項目復(fù)制到虛擬機(jī)
以 .blend 格式創(chuàng)建 blender 項目后,您必須使用 SCP 命令將其復(fù)制到 VM。如有必要,您可能還需要復(fù)制其他內(nèi)容,例如您使用的字體文件。
為此,請導(dǎo)航到包含您的項目的文件夾并打開終端。要復(fù)制文件,請使用以下命令:
scp [source_file_path] username@hostname:[destination_path]
看起來可能是這樣的:
scp User/Blender/projects/model.blend root@100.1.1.1:home/project
這會將您的項目復(fù)制到虛擬機(jī)。您可以按照概述的步驟來渲染您的項目。
在捷智算平臺上使用 NVIDIA RTX A5000 將加快您的 Blender 渲染工作流程。通過優(yōu)化您的 VM 配置并按照本指南中概述的步驟操作,您可以實(shí)現(xiàn)更快、更高效的渲染,而無需昂貴的硬件投資。
捷智算是靈活、可擴(kuò)展且經(jīng)濟(jì)高效的平臺,讓您專注于您的創(chuàng)意愿景,同時將繁重的計算工作轉(zhuǎn)移給強(qiáng)大的遠(yuǎn)程資源。