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 目录的更多信息,请参阅我们的Q100048:查找默认 .nuke 目录文章。

有关 .nuke 目录以及启动时扫描的其他位置以进行Nuke自定义设置的更多信息,请参阅Nuke在线文档中的“加载 Gizmos、NDK 插件以及 Python 和 Tcl 脚本”部分

要为Nuke设置线程限制,请使用文本编辑器打开init.py文件,并为nuke .env['threads']设置一个值。例如,要始终以 8 个线程启动,您可以添加:

 nuke .env['threads'] = 8 

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

注意:如果您还没有 init.py 文件,则需要创建一个,更多信息请参见: Q100490:什么是 init.py 和 menu.py 启动脚本文件

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

延伸阅读

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

    我们很遗憾听到

    请告诉我们