使用性能计时

Nuke可以在屏幕上显示准确的性能计时数据或将其输出到XML文件,以帮助您解决速度较慢的脚本中的瓶颈。启用性能计时后,计时信息将显示在“节点图”中,并根据从绿色(快速节点)到红色(慢速节点)中每个节点所花费的总处理时间的比例为节点本身着色。

注意:  您还可以使用Python访问单个节点的时序信息。看到https://learn.foundry.com/nuke/developers/113/pythondevguide/performance.html了解更多信息。

启用性能计时

您可以使用以下命令从脚本编辑器或命令行启用概要分析-P论点。您还可以通过添加以下命令将计时数据输出到XML文件: -Pf参数和文件名,尽管输出仅在渲染时产生。

注意:  以交互方式或从命令行启用性能计时会增加额外的处理开销,但是数据仍然可以准确显示脚本中处理时间的位置。

在屏幕上输出性能时序

通过在屏幕上启用性能计时,您可以在工作时按每个节点查看累积数据。

在脚本编辑器中,输入:

nuke.startPerformanceTimers()

在命令行中输入:

./Nuke<version>/Nuke<version>.exe -P

注意:  您可以使用nuke.resetPerformanceTimers()从脚本编辑器。

当性能计时器处于活动状态时,屏幕上会显示以下信息:

cpu -CPU在所有CPU线程上执行处理代码所花费的时间(以微秒为单位)。例如,对于多线程处理,它通常比wall时间。如果每个线程的平均CPU时间(cpu除以使用的线程数)比wall时间,这表明CPU线程花了很多时间不执行代码,可能还等待锁,这可能表示性能问题。

注意:  在Mac和Windows,CPU时间目前不准确。在Mac上, cpu值始终类似于wall时间。

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

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

看到https://learn.foundry.com/nuke/developers/113/ndkdevguide/intro/terminology.html#op了解更多信息。

memory -节点使用的系统内存总量。

除时序信息外,节点还根据其配置文件进行颜色编码,从绿色到红色,其中红色是慢速节点。您可以从示例脚本中看到Defocus是一个缓慢的节点,而Merge根本不做任何工作。

注意:  您可以使用停止显示计时数据nuke.stopPerformanceTimers()在脚本编辑器中。

将性能计时写入文件

您可以使用以下命令将计时数据输出到XML文件: -Pf参数和文件名。输出仅在渲染时从Write节点或命令行渲染产生。

Windows例如,当您从“节点图”的“写入”节点进行渲染时,以下命令会将配置文件数据写入文件:

Nuke<version>\Nuke<version>.exe -Pf <file path and name>.xml

从命令行渲染,以下命令从名为的脚本渲染10帧profileTest.nk 并将配置文件数据写入XML文件:

Nuke<version>\Nuke<version>.exe -x -Pf C:\temp\profileTest.xml C:\temp\profileTest.nk 1-10