为什么有些游戏不能有电影一样的特效?
计算成本不一样。《实时渲染》第三版(2008)第19.1节讨论了动画电影和游戏在渲染方面的一些比较,比如豆瓣(2007)中,使用的机器集群大概是3100个核,每个核可以使用65438。对于游戏来说,基本要求是30FPS,也就是0.033秒左右渲染一帧。那么如果要达到2007年动画电影的水平,也就是从6.5小时加速到0.033秒,单纯计算比例就需要CPU的70万倍左右的计算能力(修正前错写成集群)。
当然,这个问题的因素很多,我尝试用乐观和悲观来分类。乐观因素:实时渲染的算法不同于离线渲染的算法,同等质量下可以用更少的计算量;游戏中的一些计算可以通过预先计算减少每帧的重复操作(其实离线渲染中也有一些……);人们不仅追求真实性,更需要抽象性和艺术表现力。悲观因素:除了计算量,其他方面可能赶不上(内存带宽、总线带宽);游戏需要的是低延迟而不是高吞吐量,实时渲染的问题比上述计算更难。游戏一般都希望在最坏的情况下释放30 FPS,而不是平均水平。
但最后根据上面的分析,同一年动画渲染和游戏渲染的性能可能相差几十万倍。除非未来离线渲染已经达到人类视觉的极限(与现实没有区别),不需要升级,否则游戏渲染很难达到当年动画渲染的水平。