案例分享——追光动画
摘要:今天主要分享的是8000万盒小时的渲染时间是如何计算的,以及如何通过任务调度和云计算来应对动画制作过程中的波峰和波谷。
我们所说的8000万核小时,实际上是正篇完整渲染一遍所需的时间。若换算成每个CPU核心所需的时长,我们目前使用的服务器核心数不一,有30核、32核以及40核的,为方便计算,我们取平均值36核来估算。经计算,平均一帧的渲染时间差不多不到7个小时。以我们的作品为例,总时长为103分钟,由于1分钟等于60秒,1秒包含24帧,通过计算可得,完整渲染一遍的时间大约为8000万核小时。
然而,在整个制作过程中,并非仅渲染一遍即可。灯光部门和合成部门等都需要对画面进行反复渲染,因此,整体的渲染时间大约是8000万核小时的4到5倍。 虽然渲染总量巨大,但由于制作过程中有多个部门协同推进项目,渲染量并非保持平稳,必然会出现波峰和波谷的情况。在波谷阶段,我们会通过任务调度的方式,提前安排后续任务,以充分利用资源,消除波谷。但在波峰阶段,由于要保证制作进度,无法通过内部调度解决问题,所以我们选择与阿里云合作,借助弹性云资源的弹性特性,来缓解波峰带来的压力。
在项目的最后四个月,我们对画质的要求越来越高,许多内容需要重新渲染,这使得渲染的计算量大幅增加,因此这期间阿里云的使用量也相对较大。 对于我们而言,云计算的优势主要体现在其弹性以及可提供的并发量上。在动画制作的渲染高峰期,动画制作是一个反复迭代的过程,并非一次性将所有内容渲染完成即可,而是需要及时完成渲染,并进行多次审核(review)。当本地资源无法满足需求时,阿里云很好地解决了这一问题。
我们记得,在渲染任务量极大时,我们能够在不到一天的时间内,将大量渲染任务提交到阿里云,最多时可分配到2000个虚拟机上进行处理,并且大约再过一两天就能得到渲染结果。这种快速的迭代过程非常符合我们动画制作的需求。
在成本方面,虽然我们没有进行详细的计算,但从单部片子的角度来看,使用云计算应该能够降低一定的成本。我们认为,对于动画行业而言,云计算比较适合中小型动画公司。这些公司甚至无需自行搭建渲染集群,将所有渲染任务都放在云上进行是较为合理的选择。而对于大规模的动画公司,目前来看,利用云计算来消除渲染峰值的压力,是更为合理的做法。