Maya 2017 evaluation

200 views
Skip to first unread message

Rémi Deletrain

unread,
Mar 30, 2017, 10:12:05 AM3/30/17
to Python Programming for Autodesk Maya
Hi everybody, Is any of you already tried the 2017 version of Maya. If so, did you feel a real difference in the performance of node evaluation in animation? For my part I have not seen that much difference. A few frames per second but I had to remove the half of the scene if not Maya plant ... (node ​​custom, expression, etc.). So I have half of the scene in less and I have almost nothing gain ... In the preferences I am in parallel and GPU OVERIDE

David Moulder

unread,
Mar 30, 2017, 10:23:15 AM3/30/17
to python_inside_maya
In general (animation rigs) I have to turn back to the old DG Eval mode.  Our rigs still rely on AM_Hip and AM_Shoulder constraint python nodes and they tend to play up in parallel mode.  We get joint pops, and subtly different evaluation that isn't correct when compared to the old DG Eval method.  But I'm sure it's more than those 2 nodes.  I've asked around at a few Autodesk meetings and I'm hearing the same thing back from other game devs.  It gets turned off at most places, especially when exporting baked animation data to game engines.

I'd actually be interested to here who is using it, what amount of work you did to get the most out of your character rigs.  Did you have to change nodes, re-author plugins etc.

-Dave

On Thu, Mar 30, 2017 at 3:12 PM, Rémi Deletrain <remi.de...@gmail.com> wrote:
Hi everybody, Is any of you already tried the 2017 version of Maya. If so, did you feel a real difference in the performance of node evaluation in animation? For my part I have not seen that much difference. A few frames per second but I had to remove the half of the scene if not Maya plant ... (node ​​custom, expression, etc.). So I have half of the scene in less and I have almost nothing gain ... In the preferences I am in parallel and GPU OVERIDE

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/78a2bd8e-e289-4c63-b223-48d00c02a628%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--

Mark Jackson

unread,
Mar 30, 2017, 10:52:11 AM3/30/17
to python_inside_maya
Hi Remi, 

which version of Maya are you switching over from? If you're coming from 2015 and this is the first time you've run parallel then much of the performance increase is in the skinning as that goes off to the GPU so is basically free, thats the big one. 

In the most part for the actual rigs themselves we've not seen a massive increase in speed, in fact it can be slightly slower in the eval of just the rig node structures and no geo in the scene. I'm sure if you ran lots of custom solversyou could make better use of the parallel eval but for rigs built from standard nodes it's really not a big uplift in speed.

However, when you then have clients with 5 characters in the scene all running MoCap and the skins are going off to the GPU then it's a huge boost. Can be a little unstable mind you!

cheers

Mark


Mark Jackson
CEO & Technical Director


On 30 March 2017 at 15:23, David Moulder <da...@thirstydevil.co.uk> wrote:
In general (animation rigs) I have to turn back to the old DG Eval mode.  Our rigs still rely on AM_Hip and AM_Shoulder constraint python nodes and they tend to play up in parallel mode.  We get joint pops, and subtly different evaluation that isn't correct when compared to the old DG Eval method.  But I'm sure it's more than those 2 nodes.  I've asked around at a few Autodesk meetings and I'm hearing the same thing back from other game devs.  It gets turned off at most places, especially when exporting baked animation data to game engines.

I'd actually be interested to here who is using it, what amount of work you did to get the most out of your character rigs.  Did you have to change nodes, re-author plugins etc.

-Dave
On Thu, Mar 30, 2017 at 3:12 PM, Rémi Deletrain <remi.de...@gmail.com> wrote:
Hi everybody, Is any of you already tried the 2017 version of Maya. If so, did you feel a real difference in the performance of node evaluation in animation? For my part I have not seen that much difference. A few frames per second but I had to remove the half of the scene if not Maya plant ... (node ​​custom, expression, etc.). So I have half of the scene in less and I have almost nothing gain ... In the preferences I am in parallel and GPU OVERIDE

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsubscribe@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
-------------------------------------
Mark Jackson
CEO / Technical Director
red9consultancy.com

Rémi Deletrain

unread,
Mar 30, 2017, 12:21:25 PM3/30/17
to Python Programming for Autodesk Maya
Thank you for your answers,
It's not very encouraging. On our side we have a lot of node custom, so they are not compatible with the 2017 version. The test I did is on a stage only with mesh, seal and skin . I removed all the shaders, expression and that kind of thing. We are currently working with the 2014 version of Maya. So if parallelism is done on the skin and some other nodes, I am extremely disappointed. I gain 5 frames per second on a scene where there is almost nothing. It is a shame... Have they developed another skin node for that or it is really the same node name between 2014 and 2017 .
So, we would have to re-do our node with their optimizations of parallelism

Mark Jackson

unread,
Mar 30, 2017, 1:22:33 PM3/30/17
to python_inside_maya
No they have fully threaded the dag graph but because of the complexity of most rigs the actual speed increase isn't really that great, it still has to process and serialize all the nodes. It's just that the biggest gain is the skinCluster node as that can be shipped off straight to the GPU and that was always the biggest bottleneck in the frame-rate.

I know there is more coming though and that Autodesk are very keen to get live examples from users to test.

Mark

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Ravi Jagannadhan

unread,
Mar 30, 2017, 1:34:26 PM3/30/17
to python_in...@googlegroups.com
I'm a little late to this party, but to my knowledge, Python nodes aren't parallelized in the EM in Maya. Do you have a profile you can send to the group (using the Maya Profiler)?

Ravi

On Thu, Mar 30, 2017 at 10:22 AM, Mark Jackson <mar...@gmail.com> wrote:
No they have fully threaded the dag graph but because of the complexity of most rigs the actual speed increase isn't really that great, it still has to process and serialize all the nodes. It's just that the biggest gain is the skinCluster node as that can be shipped off straight to the GPU and that was always the biggest bottleneck in the frame-rate.

I know there is more coming though and that Autodesk are very keen to get live examples from users to test.

Mark
On 30 March 2017 at 17:21, Rémi Deletrain <remi.de...@gmail.com> wrote:
Thank you for your answers,
It's not very encouraging. On our side we have a lot of node custom, so they are not compatible with the 2017 version. The test I did is on a stage only with mesh, seal and skin . I removed all the shaders, expression and that kind of thing. We are currently working with the 2014 version of Maya. So if parallelism is done on the skin and some other nodes, I am extremely disappointed. I gain 5 frames per second on a scene where there is almost nothing. It is a shame... Have they developed another skin node for that or it is really the same node name between 2014 and 2017 .
So, we would have to re-do our node with their optimizations of parallelism

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsubscribe@googlegroups.com.
--
-------------------------------------
Mark Jackson
CEO / Technical Director
red9consultancy.com

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Where we have strong emotions, we're liable to fool ourselves - Carl Sagan

Rémi Deletrain

unread,
Mar 31, 2017, 3:35:01 AM3/31/17
to Python Programming for Autodesk Maya
Okay. I got a misconception. I thought that parrallelisation would save much more time but it was only in my head ...
I will see with my team what can be done on this version of Maya and discuss it with Autodesk if they are greedy of user tests.
All our nodes are in cpp. We have the same node in python to do the tests but they are not at all opitmised, they just serve as the basis of development. So the profiling of maya on these nodes will not be at all representative ...

Ravi Jagannadhan

unread,
Mar 31, 2017, 3:51:36 AM3/31/17
to python_in...@googlegroups.com
Okay, that wasn't obvious from the e-mail thread, or maybe I missed it. In any case, parallelism could save you a lot of time, but it depends on your setup, hence the need to do profiling. Let me know if you'd like help in that area. Good luck!

--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Rémi Deletrain

unread,
Mar 31, 2017, 4:00:28 AM3/31/17
to Python Programming for Autodesk Maya
In some of our nodes we use multithreading. But we are in Maya 2014 at the moment.
I just wanted to do a test on a simple scene and see the gain of image per second between Maya 2014 and Maya 2017. And I have almost seen nothing ...
The test on custom nodes will be done later on.
We should already see how we can transform our nodes so that they can work with parallelism or the GPU.

If you have techniques of profil particular it always interests us. We use the Maya profling and VisualSutdio. Is not bad for the number of passing in functions

Marcus Ottosson

unread,
Mar 31, 2017, 4:01:14 AM3/31/17
to python_in...@googlegroups.com

My impression was that the added parallelism in Maya 2016 onwards enabled a faster dependency graph. That it allowed developers to henceforth develop nodes that can run in parallel.

Given most nodes in Maya are still from pre-2016, it’d be unrealistic to expect them to take advantage of this addition, same goes for your in-house nodes. The skinCluster node is one of 6 nodes updated for parallelism so far.

Rémi Deletrain

unread,
Mar 31, 2017, 5:31:09 AM3/31/17
to Python Programming for Autodesk Maya
Certainly they can not paralyze everything. There is not even interest for some nodes.
Enjoying parallelism for internal nodes necessarily involves a rewrite. It's all  logical to rework and also use the new function of the API.

I found the other nodes on this page.

But what really amazes me (I repeat me) is that I have almost no gain of frame rate between Maya 2014 and Mayan 2017 with a character, skin and anim.
I only have AnimCurves, mesh, transform, joints and SkinCluster. Nothing more ... If the optimization is done on the SkinCluster I do not see anything ...

Marcus Ottosson

unread,
Mar 31, 2017, 5:41:48 AM3/31/17
to python_in...@googlegroups.com

If the optimization is done on the SkinCluster I do not see anything …

You may be jumping to conclusions, in the article I linked to you’ll also find that there are lots of edge cases in which the optimisation won’t happen. Viewport 1.0 is one example, GPU drivers is another.

Rémi Deletrain

unread,
Mar 31, 2017, 5:54:38 AM3/31/17
to Python Programming for Autodesk Maya
Yes I saw that depending on the viewport this applied or not.
But I also tried in 2.0 and it's the same.
Reply all
Reply to author
Forward
0 new messages