领40元无门槛渲染券,体验高速云渲染!

无需充值可试渲,支持3ds Max,Maya,C4D,Blender,V-ray,Redshift,Arnold,Corona等主流CG软件和插件

注册领取
40元渲染券

【渲染效果】Arnold CPU和GPU渲染效果对比,Arnold GPU原理详解

Renderbus渲染平台支持Arnold GPU
Arnold 作为目前电影和动画制作领域最为流行的渲染器之一,随着最近Arnold-5.3.0.0的发布,第一版的Arnold GPU(beta)已经正式放出。我们可以和大家分享一下关于Arnold GPU的前期测试的一些结果和思考。

Arnold GPU的原理
两年多以前,Marcos Fajardo(Arnold渲染器的作者)第一次在SIGGRAPH2015上谈论了Arnold GPU的可能性。当时设计的是基于OpenCL计算框架的全平台支持的GPU渲染器。但是,现在的Arnold GPU却是基于NVIDIA Optix的渲染架构,底层是CUDA语言,CUDA比OpenCL友好很多,开发进度肯定也更快,最关键的是,CUDA速度更快,更稳定。随着RTX系列显卡的开售,向量求交运算越来越快,更加适合GPU的光线追踪算法。
Arnold CPU和GPU效果
Arnold GPU渲染诞生之初的宗旨就是保持CPU和GPU渲染结果接近一致,这是beta版的不同渲染模式下的效果和速度。

测试环境:
Arnold 渲染器-Renderbus云渲染农场Katana3.0 + KtoA 2.3.0.0 gpu19 + GeForce GTX 1080
Using 8 render threads

参数设置:
AA samples = 6
GI diffsue samples = 3
GI specular samples = 3
GI transmisson samples = 3
GI diffsue depth = 2
GI specular depth = 3
GI transmisson depth = 8
灯光采样为默认值
金属材质 (Metal)metal(左边为CPU, 右边为GPU)
渲染时间:
CPU - 2m13s
GPU - 10s
总结来说,金属这种BRDF的材质已经不需要太多运算性能,在GPU上也可以很好的计算,所以CPU和GPU的噪点都比较少,GPU渲染要快很多。当场景中有很多硬表面材质的时候,GPU会在不损失渲染质量的基础上,显示出更强大的速度和性能。
玻璃材质 (Glass)glass(左边为CPU, 右边为GPU)
渲染时间:
CPU - 31m57s
GPU - 17s
玻璃这种BTDF的材质,光线追踪的渲染器实在太慢太低效了。虽然Arnold GPU渲染速度特别快,但是明显能看出来渲染细节丢失严重,噪点密密麻麻。还是使用CPU慢慢渲染比较靠谱。
次表面散射材质 (SSS)sss(左边为CPU, 右边为GPU)
渲染时间:
CPU - 6m39s
GPU - 36s
次表面材质,SSS,也就是BSSRDF,是这么多测试中,Arnold GPU带来了最大的惊喜。Arnold GPU实现了 standard_surface中的random_walk BSSRDF。
先简单介绍下,Arnold 5自带两种类型的SSS:
diffusion
random_walk
diffusion是一种基于经验的SSS模型,它的渲染结果更快,因为很多参数都是通过查表得到,这种经验模型也是现在普遍使用的方式。而randrom_walk是完全的光线反射计算,基于真实的物理模型。
回到Arnold GPU,它不支持diffusion而是直接使用random_walk,得出的结果非常完美, 渲染噪点少,渲染效果和CPU非常相似。实际生产中,这个是完全可以胜任电影级的CG制作要求。
科耐尔盒子 (Cornell Box)cornell_box(左边为CPU, 右边为GPU)
渲染时间:
CPU - 23m37s
GPU - 1m27s
结果很完美,虽然渲染时间很慢,但是效果惊人。和Redshift做对比的话,速度上惨败,效果上完胜。Redshift最大的问题在于间接光照往往太亮,暗部细节不够。Arnold GPU的效果和CPU基本完全一致,就这一点上,它是目前已知渲染器中(prman还不知道)做的最好的。
这里请注意一下,GPU的渲染时间明显比CPU快很多的很重要的原因,是因为它们的采样相同,而采样相同的基础上,GPU渲染结果的噪点要明显比CPU渲染结果的噪点要多。
Arnold Beta版的限制
因为目前Arnold还处于早期的beta测试版本,所以很多特性是没有的,想要将Arnold GPU用于生产制作应该还是早了一些。以下是一些比较大的缺点。
通用的限制
GPU渲染,在相同采样的基础上,要比CPU噪点更多
GPU渲染会将所有贴图读入内存和显存,暂不支持streaming texture
GPU渲染不支持bucket rendering,所有支持的AOVs都留在内存中
GPU渲染不支持OpenVDB
Shaders的限制
暂不支持 OSL Shaders
暂不支持第三方Shaders
不支持AOVs写出,不支持 write_aov
Lights的限制
暂不支持 cylinder_light
暂不支持 disk_light
暂不支持 mesh_light
暂不支持 light_links
暂不支持 light_filters
Arnold GPU的未来
Arnold希望将GPU渲染用于电影级的项目,但是因为GPU自身的缺点,很多渲染必须要使用CPU来计算,效率更高。所以,自由的在CPU和GPU之间切换渲染是非常重要。基于这一点,Arnold既能提供高质量的CPU单向光线追踪渲染,又能提供高效的GPU Optix光线追踪渲染。
一套API支持CPU和GPU
Arnold设计之初就提出,使用一套API,兼容CPU和GPU渲染。现在Arnold GPU已经开始兼容一些MtoA里提供的Maya原生材质,至少这点Arnold已经取得一些进展了。
支持OSL Shaders
最新的消息,来自开发者论坛,NVIDIA正在和Sony一起,正在开发OSL基于GPU下的兼容性,包括OSL几个很重要的特性:Closure和LPEs。不久会加入Arnold GPU。
渲染效果一致性
现在看来,在效果还原上,Arnold还是做的很好的,GPU渲染尽力向CPU渲染的效果靠拢,因为两个渲染架构不同,不再延伸。

来自: MIYAZAKI

本文整理自Renderbus云渲染农场,转载请注明本文链接:https://www.renderbus.com/share/post-id-3178/

上一篇:C4D自带标准渲染器如何设置渲染输出

下一篇:Maya自带Arnold如何渲染透明贴图?

happy new year
点击查看