Q100225:分析 Nuke 脚本以隔离性能问题

关注

概括

本文介绍了两种替代方法,可用于在尝试确定脚本速度缓慢的原因时测试Nuke节点的性能。


更多信息

尝试找出Nuke脚本的哪些部分会减慢播放/渲染时间可能很困难。

为了促进此过程, Nuke提供了两种替代方法来分析脚本中节点的性能:性能分析模式分析节点。
这两种方法都将提供分析,可用于隔离速度特别慢的节点并帮助您优化工作流程。分析时,节点的颜色编码从绿色到红色,其中红色是慢速节点。
您可以从下面的示例中看到,Defocus 是一个缓慢的节点,而 Merge 根本不执行任何操作。

性能分析模式

设置性能分析模式后,您可以查看每个节点的分析以及节点本身的各种指标。
在性能分析模式下启动Nuke

要在性能分析模式下运行Nuke您需要在启动Nuke时使用 -P 标志。下面针对每个操作系统提供了有关如何执行此操作的说明列表。
窗户
打开命令提示符窗口并运行以下命令:

"C:\Program Files\Nuke14.0v5\Nuke14.0.exe" -P

苹果系统:
应用程序 > 实用程序打开终端窗口并运行以下命令:

/Applications/ Nuke 14.0v5/ Nuke 14.0v5.app/Contents/MacOS/ Nuke 14.0 -P
Linux:
打开终端并运行命令:

/usr/local/ Nuke 14.0v5/ Nuke 14.0 -P

注意:这些说明基于将Nuke安装在默认位置。如果不是这种情况,则需要相应修改命令才能从您的自定义安装位置运行。
在性能分析模式下报告的信息
在性能分析模式下启动Nuke后,每个节点将报告以下信息:
CPU - CPU 执行处理代码所花费的时间(以微秒为单位),在所有CPU 线程上聚合。
例如,对于多线程处理,这通常比挂接时间长得多。如果每个线程的平均 CPU 时间(CPU 除以所使用的线程数)比挂断时间短得多,这表明 CPU 线程花费了大量时间不执行代码,并且可能等待锁,这可能表明性能问题。

注意:在 macOS 和 Windows 上,CPU 时间当前不准确。在 macOS 上,CPU 值始终与挂钟时间类似。

wall - 通过墙上的时钟测量所花费的时间 - 您必须等待处理完成的实际时间。挂壁时间也以微秒为单位进行测量。

ops - 节点中调用的操作员数量。操作员是Nuke执行某些任务的构建块。节点可以包含一个或多个操作。
例如,当节点需要调整某些内容的大小时,它将使用 Transform 操作而不是其自己的实现来执行相同的操作。

内存- 节点使用的系统内存总量。
在性能分析模式下启动Nuke后,您可以在Nuke UI 的性能菜单中重置、启动和停止计时器,如下所示:

配置文件节点

Nuke 11.1 版本(及更高版本)中,我们引入了 Profile 节点。该节点允许用户在放置 Profile 节点时计算节点树的度量。
当配置文件节点放置在节点图中并选择时,将打开配置文件菜单。
要运行配置文件,请输入选定的帧范围和数据类型,然后单击“配置文件”。
收集数据后,将在“配置文件”菜单中生成数据并根据使用百分比显示在图表中。
注意:有关过滤此数据的更多信息,请参阅过滤配置文件数据文档

方法之间的差异

虽然配置文件节点确实提供了相当多的新功能,例如图表和其他基于 GUI 的诊断,但它根据基于百分比的分析而不是性能配置文件模式使用的基于计时器的分析来计算性能。


附加信息
有关这两种方法的更多信息可以分别在性能分析配置文件节点文档中找到。

    我们很遗憾听到

    请告诉我们