在进行渲染3d动画的时候,本地机器的算力往往不够,导致渲染时间过长,而云渲染往往费用较高,我们可以尝试使用BlendStation
对blender
文件进行分布式渲染。
渲染配置
- blender版本:4.0.1
- 平台:windows11
- 渲染分辨率:HDTV 1080p
- FPS:60
- 采样数:4096
- 渲染引擎:Cycles
- 输出格式:PNG
BlendStation下载和使用
参考官网:MESHTEK-BlendStation免费轻量级渲染农场管理系统,里面的官方文档写的很详细,使用方法不赘述。
性能提升比较
以下是所有本地机器的CPU
配置,在实际渲染过程中,我随机查看了以下机器的GPU
使用情况,发现主要还是在使用CPU
进行渲染(设置了使用GPU
计算),与单机渲染的情况较为不同。官网的Q&A
中指出BlendStation-Manager
会根据情况自动分配使用CPU
orGPU
。
编号 | CPU型号 |
---|---|
1 | AMD Ryzen 7 5800H with Radeon Graphics |
2 | 13th Gen Intel(R)Core(TM)i9-13900HX |
3 | 13th Gen Intel(R)Core(TM)i5-13500H |
4 | 12th Gen Intel(R)Core(TM)i7-12700H |
5 | 13th Gen Intel(R)Core(TM)i5-13500HX |
6 | 12th Gen Intel(R)Core(TM)i7-12700H |
7 | 13th Gen Intel(R)Core(TM)i9-13900H |
[所有机器配置]
当七台电脑在几乎闲置的情况下同时进行渲染,经过测试,结果如下:
编号 | 总渲染帧数 | 消耗时间 |
---|---|---|
1 | 1092 | 1 小时15 分钟 |
2 | 500 | 31 分钟15 秒 |
[测试结果]
于是我们可以大概估计,在如上的渲染/机器配置下,渲染1000帧的时间大约为1小时,即3600秒,于是可以得到大约3.6秒可以渲染一帧,而我们本机渲染1帧所花时间则在30s上下浮动,可以说有着较大的提升。
别的细节
速度瓶颈
Blendstation
目前免费的版本只提供可连接外网版本,内网通信则需要联系他们公司,这意味着渲染的速度可能与所使用的局域网速度有关,因为根据控制台BlendStation-Worker
所打印的信息来看,实现原理大概是把渲染任务分给各个机器,每个机器渲染一部分,然后再汇总到安装有BlendStation-Manager
的机器上,这个同步过程可能受网速影响,不过官网指出当渲染任务超过10min时,这个同步时间可以忽略不计。
在可使用的机器数量较少时,如只有2台,那么可能出现渲染速度较慢的情况,至于随着机器数量增加,速度如何变化,如是否会下降,则没有条件进行测试。
缓存问题
如上面指出的,渲染任务在不同的机器上进行,可能是为了方便在掉线之后从掉线机器的断点处重新开始渲染,BlendStation-Worker
会自动创建一个文件夹,用于缓存本机当前已经渲染完成的任务,随着渲染次数的增加,该文件可能会不断增大,如已经备份的话,最好告知该机器主人及时清理。
想想你的文章写的特别好https://www.237fa.com/
兄弟写的非常好 https://www.cscnn.com/