在进行渲染3d动画的时候,本地机器的算力往往不够,导致渲染时间过长,而云渲染往往费用较高,我们可以尝试使用BlendStationblender文件进行分布式渲染。

渲染配置

  1. blender版本:4.0.1
  2. 平台:windows11
  3. 渲染分辨率:HDTV 1080p
  4. FPS:60
  5. 采样数:4096
  6. 渲染引擎:Cycles
  7. 输出格式:PNG

BlendStation下载和使用

参考官网:MESHTEK-BlendStation免费轻量级渲染农场管理系统,里面的官方文档写的很详细,使用方法不赘述。

性能提升比较

以下是所有本地机器的CPU配置,在实际渲染过程中,我随机查看了以下机器的GPU使用情况,发现主要还是在使用CPU进行渲染(设置了使用GPU计算),与单机渲染的情况较为不同。官网的Q&A中指出BlendStation-Manager会根据情况自动分配使用CPUorGPU

编号CPU型号
1AMD Ryzen 7 5800H with Radeon Graphics
213th Gen Intel(R)Core(TM)i9-13900HX
313th Gen Intel(R)Core(TM)i5-13500H
412th Gen Intel(R)Core(TM)i7-12700H
513th Gen Intel(R)Core(TM)i5-13500HX
612th Gen Intel(R)Core(TM)i7-12700H
713th Gen Intel(R)Core(TM)i9-13900H

[所有机器配置]

当七台电脑在几乎闲置的情况下同时进行渲染,经过测试,结果如下:

编号总渲染帧数消耗时间
110921 小时15 分钟
250031 分钟15 秒

[测试结果]

于是我们可以大概估计,在如上的渲染/机器配置下,渲染1000帧的时间大约为1小时,即3600秒,于是可以得到大约3.6秒可以渲染一帧,而我们本机渲染1帧所花时间则在30s上下浮动,可以说有着较大的提升。

别的细节

速度瓶颈

Blendstation目前免费的版本只提供可连接外网版本,内网通信则需要联系他们公司,这意味着渲染的速度可能与所使用的局域网速度有关,因为根据控制台BlendStation-Worker所打印的信息来看,实现原理大概是把渲染任务分给各个机器,每个机器渲染一部分,然后再汇总到安装有BlendStation-Manager的机器上,这个同步过程可能受网速影响,不过官网指出当渲染任务超过10min时,这个同步时间可以忽略不计。

在可使用的机器数量较少时,如只有2台,那么可能出现渲染速度较慢的情况,至于随着机器数量增加,速度如何变化,如是否会下降,则没有条件进行测试。

缓存问题

如上面指出的,渲染任务在不同的机器上进行,可能是为了方便在掉线之后从掉线机器的断点处重新开始渲染,BlendStation-Worker会自动创建一个文件夹,用于缓存本机当前已经渲染完成的任务,随着渲染次数的增加,该文件可能会不断增大,如已经备份的话,最好告知该机器主人及时清理。