Chaos
featured-profiler-article.png
featured-profiler-article.png

V-Ray Profiler 性能分析工具: 检查渲染时间并优化性能



阅读本文,了解 V-Ray Profiler,探究这个功能如何协助您优化渲染性能,使其成为项目中不可或缺的工具。


V-Ray Profiler 是一款功能强大的工具,能帮助艺术家优化渲染性能,不论是新手或是老手都能从中受益。随着 V-Ray 6、Maya update 1 与 Cinema 4D 的发布,渲染器变得更加强大,新功能提供了更多洞察力。让我们一起来探索 V-Ray Profiler 的研发历程、运作原理以及它如何变成任何规模项目中不可或缺的工具。

什么是 V-Ray Profiler?

V-Ray Profiler 可帮助用户了解场景中不同组件的渲染时间。它可用于诊断和比较不同材质、细分和置换网格、渲染设置以及不同工作流程与方法的性能。

Profiler 的分析报告分为两大部分--系统与渲染。系统报告侧重于不同的渲染前和渲染后任务。渲染报告详细说明了渲染过程中对材质和体积进行采样所花费的时间。然后,这些报告又细分为每个材质或体积的详细贡献类型,如 GI、直射光、反射、折射等。

final-edit-what_is_VRay_profiler.png

这一切始于一线希望和一丝光明

Chaos引以为豪的是我们与用户之间的良好关系。我们总是努力保持对论坛留言和 E-mail 的关注,而且我们经常会安排会议,讨论客户在项目中遇到的难题。

常常有人问:能不能对场景优化性能?我们通常会与客户一起调查具体案例,通过程序代码性能工具分析,就更改材质树、几何体、渲染设置或其他相关内容提出建议。

不幸的是,整个过程有时会变得非常耗时,于是自然而然地就会问: 我们能否让用户自己诊断这些问题?我们已经有了这些工具,如内存跟踪器和详细日志,但显然还需要更多功能。

作为解决方案,我们设计了 V-Ray Profiler。其目的是报告每种材质及其着色组件(GI、反射、折射等)所花费的时间。这些指标将记录在报告中,既可以通过文本格式离线阅读,也可以在 Google Chrome 浏览器的跟踪器等在线跟踪工具中显示。

edit-profiler_detailed_mtl_breakdown.png

V-Ray Profiler 在 V-Ray 6 for Maya 中首次亮相,但我们知道它还有很多进步的空间。在 V-Ray 6 for Maya, hotfix 1 中,我们增加了记录更多光线反弹指标的功能。这样,用户就可以对更复杂的设置进行分析,例如,摄影机在窗户后面或看着镜子的镜头。

着色报告很有用,但渲染场景还有其他重要因素要留意。有很多原因会导致渲染速度减慢,例如不必要的复杂几何体、非常精细的置换以及由于设置导致的灯光缓存编译速度减慢等等。为了解决这些问题,V-Ray 6, update 1 增加了 Profiler 的系统模式--它可提供每个对象的几何体编译时间、灯光缓存构建、导出、插件初始化等信息。有了这一新增功能,V-Ray Profiler 就成为了 Chaos 公司内部不可替代的工具,希望我们的许多客户也能从中受益。

edit-profiler_example.png

V-Ray Profiler 与 Houdini 6官方正式版一起发布,之后又与V-Ray 6 for Cinema 4D, update 1 一同发布,但我们计划继续将其添加到更多整合中,以便我们的所有用户都能从中受益。如果您最喜欢的平台还不在清单中,也无须担心,因为 V-Ray Profiler 也适用于 V-Ray App SDK 和 V-Ray 独立版本,只需在命令行中输入几个参数,就能为任何 .vrscene 启用 Profiler 分析工具。

系统模式: 渲染前和渲染后的分析

该模式会报告渲染前后所花费的时间(其中也有一部分是渲染实际花费的时间,但在该模式中没有进一步细分。有关着色耗时的详情,请查看" Render breakdown”)。

主要事件按时间顺序排列,报告如同一条时间轴。过程包括但不限于几何体编译、关键帧创建、构建灯光缓存、插件初始化等。

single-image-Profile_process.png

V-Ray 在内部跟踪这些流程已有一段时间了,因为这个工具可用于估算渲染时间,而且几乎不会影响原本的渲染效能。

System Profiler 通过提供更详细的明细,对这些已有的做法进行扩展,例如,不只是编译所有几何体所花费的时间,而是细分到每个资产,并以同样的原则,对每个插件的初始化、每盏灯光…等信息。

如果您怀疑第一个像素出现在 VFB 所花费的时间过长,那么就应该使用这种模式。它可以在 "系统 "模式中单独使用,但也总是与 "渲染 "详情一起包含在 "All"模式中。


渲染模式:着色过程明细

渲染报告详细列出了材质和体积着色过程中发生的事件。然后,材质的贡献计算会细分为直射光、GI、反射、折射、每个纹理所耗费的时间及其他。

Profile 将只显示 V-Ray 计算出的部分,例如,如果某个材质没有启用任何折射功能,那么它就不会有折射报告(因为折射所需的时间为 0 秒,而且无法直观地表现出来)。

single-image-profiler_render.png

追踪到完成为止

使用 V-Ray Profiler 时需要知道的关键事项是最大深度。尽管以最大深度查看报告会很有趣,但要谨慎使用,因为这会对渲染性能造成影响。想知道为什么会出现这种情况,我们需要深入探究这个工具如何记录所有事件的持续时间。

single-image-V-Ray_profiler_viz_1.png

假设渲染摄影机看到使用 V-RayMtl1 的物体(我们称之为物体 1),它反射了另一个使用 V-RayMtl2 的反射物体(物体 2)。我们的第一条摄影机光线击中了对象 1,并向对象 2 产生了另一条光线。此时,我们将记下 V-RayMtl2 对 V-RayMtl1 的反射分量所起的作用,同时开始跟踪从 V-RayMtl2 反弹的第二条光线。这两次时间测量都将持续到射线结束其路径为止。每个材质的所有不同组件都会多次出现这种情况。最大深度的值越大,Profiler 的测量次数就越多,对性能的影响也就越大。对于大多数没有太多反射或折射的测试,我们建议使用默认值,并使用最大深度为 1 的 "All"模式。

另一方面,"系统 "模式会报告我们在渲染过程中收集的基本数据,因此启用该模式不会对性能造成任何影响。



渲染优化分析器报告的简易指南

好的,现在我们知道 V-Ray Profiler 是什么了。我们明白其运作原理,但如何读取数据呢?让我们从 "渲染报告 "开始,先了解着色的基础知识。

简单来说,在渲染影像时,光线会从虚拟摄影机通过影像平面投射到不同的虚拟对象上,这些对象都有自己特定的着色属性。当光线击中物体时,会根据其属性产生不同类型的辅助光线。阴影光线被追踪到光源,以确定直接光照与材质--这在直接光照组件中可见。如果材质具有反射特性,则会产生反射光线,这在反射组件中可看到。根据同样的原理,折射光线负责折射的部分;次表面散射光线负责间接光的部分,以此类推。

single-image-V-Ray_profiler_viz.png

每个组件所记录的时间测量结果摘要将与每个给定材质的相对时间一起用于最终结果。这会以着色总耗时的百分比表示。您可能会发现,在报告中,所有材质的百分比加起来都是 100,但相反,组件却不是。原因是我们没有跟踪着色过程中发生的所有事件,因为用户几乎无法控制这些事件。

在报告中,您可查找耗时最长的材质,并观察材质的哪些组件会导致最长耗时。以此为基础,您可调整材质的不同属性,并比较哪种方法最有效。例如,您可比较不同 SSS 设置的材质或反射 Roughness 较高的材质与光泽度较高的相似材质。

系统模式收集渲染前和渲染后流程的信息。列出的事件取决于场景中的内容和渲染设置,但有些事件几乎在所有情况下都会出现,例如渲染和初始化许可证、导出、python 后转译、关键帧创建、序列初始、帧初始和渲染、设置、灯光、V-Ray Toon、环境设置、渲染元素、几何体与材质、灯光链接、插件初始化、几何体编译、构建 ray server、构建灯光缓存。

如果其中任何组件的渲染时间过长,就需要仔细检查场景设置是否可优化。例如,对于几何体编译及其每个网格节点的进一步分析。您可以从细分和置换设置中寻找可进行优化的网格。

以下教程视频介绍如何使用 V-Ray Profiler 来检查报告并使用相关更改。

featured-profiler-article.pngfeatured-profiler-article.png

使用 V-Ray Profiler 的好处

遗憾的是,后期制作无法解决所有问题,渲染时间也不例外。只需在 "All模式 "下进行一次渲染,就能找出渲染热点,如造成渲染变慢的材质与几何体。如果你怀疑场景中非着色范围的区域可进行优化,那么系统模式可提供协助,而且几乎不产生任何性能成本。针对场景的特定方面进行优化,并使用科学的方法来比较不同的设置。

此外,如果您的项目签属了保密协议,但又想让我们看一看,您可以生成分析数据,发送给我们以作进一步调查。

更多信息,请阅读 MayaHoudiniCinema4D 中的 V-Ray Profiler 帮助文档。


结语

总之,V-Ray Profiler 是用户优化渲染过程的重要工具。它可详细分析场景中各种组件所花费的时间,说明诊断并比较性能因素,包括材质、几何体、细分、置换、渲染设置和不同的工作流程。在系统和全部两种模式的帮助下,用户可深入了解渲染过程,使其成为优化不可或缺的工具和各个级别艺术家的宝贵资源。

开始您的渲染之旅

探索加速、改进并简化您的工作流程。
Negative0-39-35A(1)BW.jpg
About the author

Petya Georgieva

Petya graduated from Bournemouth University in 2020 with a bachelor of arts in Computer Animation Art and Design. From there Chaos quickly snagged her as a QA intern, and in 2022 she became a Product Specialist for V-Ray for Maya. Petya loves anything to do with visual effects and arts but holds a soft spot for animation and analog photography.

Originally published: April 5, 2024.
Chaos
© 2024 Chaos Software 保留一切权利