Improving the animation performance in Maya has been on our "to do" list for a quite a while, and it ended up being a huge undertaking. Not only did it require the development team to get really creative on how to solve the problem, we also needed to borrow hundreds of complex customer rigs for thorough testing.
A white paper was released that explains the concept of Parallel Maya, which is responsible for the improved animation performance beginning in Maya 2016. We wanted to help illustrate that white paper by visually explaining how Parallel Maya actually works.
Ready to experience the full power of Maya? Subscribe now for a year or more and save 15%!*
With the latest version of Maya, we've accelerated your scenes by taking better advantage of your hardware.
Previous versions of Maya were limited to evaluating a single node at a time.
Beginning with Maya 2016, Maya includes a mechanism for analyzing multiple nodes at the same time.
At the heart of this new evaluation architecture is an Evaluation Manager (EM) responsible for creating a parallel-friendly description of your scene, called the Evaluation Graph (EG), and scheduling EG nodes across available compute resources.
Previously, Maya was built around an architecture for a world in which computers had a single core.
Computers have changed quite a bit since the first versions of Maya were released, and typically have 4, 8 , or even more cores available for computational work.
Because of this, the original Maya could leave available cores idle.
In Maya 2016 we introduced a new way of working and understanding how to optimize your scene. A new tool, called the Performance Profiler, visualizes how Maya is evaluating your animation data.
Running Maya in Dependency Graph mode evaluates your scenes as in previous versions of Maya.
We can see here that Maya is performing a scene evaluation on every frame.
Dirty Propagation is the process of figuring out what needs to be evaluated, from animation curves to renderable objects, and marking attributes on nodes as needing to be re-evaluated.
This process can sometimes take longer than actual evaluation.
In CPU view, we can see that only one of our cores is being utilized.
Switching to Parallel mode, the new default, creates the evaluation graph that allows Maya to use all of our available cores.
When the scene has a complex character, it may be possible to evaluate sub-sections of the rig simultaneously.
Now when we look back at this scene in the profiler...
Dirty Propagation? Gone.
And in CPU view, the evaluations are now divided amongst all available cores in the computer.
Right away, we can see a great boost in frame rate in scene playback
But Maya can still do more to improve performance.
With the new GPU-override option, deformers in your scene can be evaluated directly on the GPU.
True interactivity for animators like you to create your best work.