使用性能计时
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