解算管理器 (EM) 确定如何对场景解算,在可用的 CPU 和 GPU 计算资源之间分配工作以加快性能。它在后台工作,使用现有的脏传播机制将场景的定向图 (DG) 表示转化为正向解算图 (FG)。构建 FG 后,就会禁用脏传播并构建解算计划 (ES)。ES 按正确的顺序对场景节点解算;这样,场景就会生成与基于定向图的“经典”解算相同的结果。
您可以在此处观看概述“解算管理器”(Evaluation Manager)功能的简短视频;有关更深入的技术说明,请阅读并行 Maya 白皮书(Parallel Maya Whitepaper)。
FG 确定场景元素之间的依存关系;如果场景中的两个节点是独立的,则对于在不同处理器上的并行解算,它们是良好的候选。
从“编辑器 > 设置/首选项 > 首选项 > 动画”(Editors > Settings/Preferences > Preferences > Animation) > 解算(Evaluation)部分中选择适当的解算模式:
在“DG”、“串行”(Serial)和“并行”(Parallel)模式下,占用大量资源的任务需要大致相同的时间。例如,如果使用需要 0.5 秒使网格变形的变形器,则在“并行”(Parallel)模式下对此变形器解算不会对性能产生任何更改。
如果所有的 EM/DG 模式显示相同的瓶颈,则解决此问题将提高性能增益。使用分析器(Profiler)在图表中演示每个进程消耗的时间量。
但是,如果遇到的问题仅在“并行”(Parallel)模式下出现,则这可能指示您的场景中有线程争用问题,其中多个线程正尝试立即工作,同时争相控制共享资源。
如果执行大量的 Python 命令,这些命令可能会出现性能问题。如果发生这种情况,请在环境中定义 MAYA_RETAIN_PYTHON_GIL。(MAYA_RELEASE_PYTHON_GIL 已弃用。它默认为 true,并且可被 MAYA_RETAIN_PYTHON_GIL 覆盖。)
此外,使用自定义 Python 节点对其他线程解算时,也有可能会出现 Python 性能问题。
有关已知限制的完整列表,请参考发行说明。