Q100376:使用Python限制 Nuke 使用的线程数

关注

概括

本文提供有关如何使用 Python 通过 init.py 文件限制Nuke使用的线程数的信息。如果您希望始终将Nuke限制为少于计算机上可用线程总数,则这非常有用。

更多信息

默认情况下, Nuke不限制它将使用多少个线程,因此将使用它可以使用的 CPU 线程。这可能会导致Nuke使用大量 CPU 资源,从而导致某些计算机出现问题。

如果您在使用Nuke时遇到性能问题,有时减少Nuke运行的线程数可能会有所帮助。您可以通过使用命令行标志启动Nuke或在 init.py 文件中设置 python 自定义来完成此操作。

命令行标志

您可以通过使用-m标志从终端或命令提示符启动Nuke使用的线程数。这在排除问题时很有用,但如果您总是想限制线程数,则始终从终端或命令提示符启动Nuke可能并不方便。

有关如何使用命令行标志的说明,请参阅Q100117:以有限数量的线程(-m 标志)启动Nuke

注意: -m标志会覆盖 init.py 文件中列出的设置。

init.py 文件中的 Python 自定义

或者,您可以使用Nuke的 Python API 来限制Nuke启动的线程数量,方法是将命令添加到用户目录中 .nuke 目录中的 init.py 文件中。每个平台上 .nuke 目录的默认位置是:

  • Windows:C:\Users\<用户名>\.nuke
  • MacOS:/Users/<用户名/.nuke
  • Linux:/home/<用户名>/.nuke

请参阅Nuke在线帮助中的加载 Gizmos、NDK 插件以及 Python 和 Tcl 脚本,了解有关 .nuke 目录以及在启动时扫描Nuke自定义的其他位置的更多信息。

要为Nuke设置线程限制,请使用文本编辑器打开 init.py 文件(如果您还没有 init.py 文件,则将其创建为带有 .py 扩展名的纯文本文件)并为nuke设置一个值.env['threads'] 在文件末尾。例如,要始终以 8 个线程启动,您需要添加

nuke .env['threads'] = 8 

下次运行Nuke时,它将使用您指定的线程数启动。

注意:使用-m标志从命令提示符或终端启动Nuke将覆盖您的新值。

延伸阅读

有关启动脚本的更多信息,请参阅Nuke用户指南的配置Nuke部分 以及Nuke的 Python 开发人员指南

    我们很遗憾听到

    请告诉我们