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.
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.
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.
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.
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.
Now when we look back at this scene in the profiler...
And in CPU view, the evaluations are now divided amongst all available cores in the computer.