创建支持服务单
关注

Q100225: 分析您的 Nuke 脚本以提高性能

概括

本文介绍了两种替代方法,可用于在尝试确定脚本速度变慢的原因时Nuke

更多信息

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

为了促进这一进程, Nuke提供了两种可供选择的方法来分析节点的脚本,性能分析模式的性能和配置文件节点。

这两种方法都将提供可用于隔离特别慢的节点并帮助您优化工作流程的分析。分析时,节点的颜色从绿色到红色编码,其中红色是慢节点。

您可以从下面的示例中看到 Defocus 是一个缓慢的节点,而 Merge 根本不做任何工作。


性能分析模式

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

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

Linux:
打开终端并运行命令:

/usr/local/Nuke12.2v3/Nuke12.2 -P

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

注意:在 Mac OS X 和 Windows 上,CPU 时间当前不准确。在 Mac OS X 上,CPU 值始终与挂墙时间相似。

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

ops - 节点中调用的运算符数。运算符是Nuke执行特定任务的基石。节点可以包含一个或多个操作。
例如,当一个节点需要调整某些东西的大小时,它会使用 Transform 操作而不是它自己的实现来做同样的事情。

memory - 节点使用的系统内存总量。
Nuke Nuke UI 的性能菜单中重置、启动和停止计时器,如下所示:

配置文件节点

Nuke 11.1 版本(及更高版本)中,我们引入了 Profile 节点。此节点允许用户计算放置 Profile 节点的节点树的度量。

当 Profile 节点被放置在节点图中并被选中时,Profile 菜单将打开。


要运行配置文件,请输入选定的帧范围和数据类型,然后单击“配置文件”。

收集数据后,将在“配置文件”菜单中根据使用百分比生成数据并显示在图表中。

注意:有关过滤此数据的更多信息,请参阅过滤配置文件数据文档

方法之间的区别

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


附加信息
有关这两种方法的更多信息可以分别在Performance ProfilingProfile节点文档中找到。

这篇文章有帮助吗?

我们很遗憾听到

请告诉我们
6 人中有 6 人觉得有帮助