Particle system benchmark

Nov 15, 2012 at 12:45pm

Particle system benchmark

Hi. I’ve noticed a considerable difference in the performance of a patch that uses particles with jit.gl.multiple, between Max 5.1.9 and 6.0.8. I’ve tested it in Windows 7 and Mac OS X 10.8 with the same hardware: it is much slower in 6.0.8. I’ve made a patch to test this performance difference with a 5000 particle system and here are the results:

Mac OS X 10.8
Shape 1: plane (low poly count) with a circle texture
5.1.9: 45 fps
6.0.8: 15 fps
Shape 2: sphere (medium poly count – 12 12)
5.1.9: 12 fps
6.0.8: 10 fps

Windows 7
Shape 1: plane (low poly count) with a circle texture
5.1.9: 55 fps
6.0.8: 24 fps
Shape 2: sphere (medium poly count – 12 12)
5.1.9: 50 fps
6.0.8: 23 fps

Can anybody run this and post the results for me to confirm this?
Thanks!

– Pasted Max Patch, click to expand. –
#65229
Nov 15, 2012 at 1:20pm

I have similar results using a macbook pro 2.2ghz i7 2011 model, running on battery (6.0.7 instead of .0.8):

Mac OS X 10.6.8
Shape 1:
5.1.9: 55 fps
6.0.7: 18 fps

Shape 2:
5.1.9: 11 fps
6.0.7: 11 fps

#235074
Nov 15, 2012 at 4:39pm

Thanks, Terry. I guess that your GPU is the AMD Radeon HD 6750M. I’ve tested with an AMD also (HD 4870 1 GB).

To me, this test shows that:
1, With shape 1 (plane, low poly count), Max 5 is 2 to 3 times faster than Max 6.
I know that Max 6 had many changes under-the-hood. Maybe some of these changes introduced a bug? I hope so… can anyone from Cycling comment/confirm this?

2. AMD graphic drivers on Windows perform much better with high poly count (shape 2) than on Mac OS X.
If anyone has a system with dual boot (macintosh, hackintosh), I would like to confirm this… and to also have results from NVidia cards!

Thanks everyone.

#235075
Nov 15, 2012 at 9:06pm

Hi Pedro,

(I guess that your GPU is the AMD Radeon HD 6750M. )

yes it is, but I had automatic graphics switching enabled, so it might have been using the built-in video processor (intel HD 3000)

#235076
Nov 15, 2012 at 10:15pm

With that kind of performance, I guess it was really using the Radeon. I’m glad to see that current mobile GPUs have similar performance to my current non-mobile Radeon HD 4870 1 GB.
It’s just sad to see this amount of performance penalty from Max 5 to 6 (at least in this particular case).

#235077
Nov 16, 2012 at 11:39am

Just a quick update: I’ve adapted the above patch to use jit.gl.mesh in points and in tri_grid draw modes instead of using jit.gl.multiple to draw the particle system. A 100.000 particle system has the exact same behaviour in Max 5 and Max 6: about 60 fps.

So I guess the problem resides inside jit.gl.multiple.

Can anyone from Cycling’74 confirm this? Wesley? Robert? Joshua?

And maybe update the title of the thread to mention jit.gl.multiple as it seems that’s the main problem here…

Thanks.

– Pasted Max Patch, click to expand. –
#235078
Nov 19, 2012 at 5:08pm

hi pedro santos, thanks for the patch.

i’ll take a look, and see if any improvements can be made to jit.gl.multiple for a future version.

#235079
Nov 20, 2012 at 9:34am

Thanks, Robert!

#235080
Nov 20, 2012 at 10:08am

I have a similar problem, but with [ jit.gl.sketch ].

The patch works fast enough(30 fps) on Max 5, but very slow(10 fps) on Max 6.
(Since I can’t upload the whole patch of mine here, but will provide a simplified version soon that can reproduce the problem.)

The clue I have is that [ jit.gl.sketch ] is not the problem but [ jit.window ] or an underlying mechanism.
When I delete [ jit.window ] and recreate it (‘undo’), Max 6 shows as fast performance as Max 5.

This is not case for the Pedro’s patch, but I’m writing this if the developers at Cycling74 can have some clues.

#235081
Mar 19, 2013 at 8:59pm

hey guys, just wanted to let you know that speed has been greatly improved for this specific situation or many instances of a low dim jit.gl.gridshape.

the trick is to set the jit.gl.gridshape @cache_mode attribute to “immediate” and enable @displaylist.

with those settings, i get performance comparable to max 5.
hope this helps.

#235082
Mar 19, 2013 at 9:29pm

jit.gl.gridshape: “cache_mode” is not a valid attribute argument

#235083
Mar 19, 2013 at 10:17pm

What version of Max are you using?

#235084
Mar 19, 2013 at 10:56pm

max 6.0.8

#235085
Mar 19, 2013 at 10:57pm

This feature is new in 6.1 I believe.

#235086
Mar 20, 2013 at 12:54am

Thank you Cycling for your efforts on the resolution of this performance problem! The performance gap was really substantial.

#235087

You must be logged in to reply to this topic.