particle goal soooo slow?


#1

im doing the typical thing of emit particles and goaling some shape with a goalpp ramp through lifespann but i didnt know it was so slow! if i turn off goal then its normal calculation , but when turn on its even impossible to wait 100 frames to see what happen with just some thousands particles…I tested same with nparticles and its a bit faster but anyways not enough…
so its normal? or i missed something?


#2

Just looking for a little more info in your setup:
Are you using any per-particle expressions?


#3

just a basic goalPP ramp to say when i want particles go to the shape…nothing special , i guess must be normal is so slow when give that goalPP to thousands particles… because did nothing more…
using some kind of color at point attraction i heard is even slower…so im not sure how to make particles get a shape if need thousands or milions to drive them… firstly i made the opposite way emit particles from the shape and then drive them away , but i would like the opposite , emit particles and make them get the shape with a typical goalPP system…but seems totally impossible in this way


#4

Oh man, I was hoping you were doing some sort of Per-particle expressions that might make things slow down. I haven’t used goals on more than a few hundred particles…so never really noticed much of a performance hit.
My only thought, probably stupid, but is there any possibility that the conversion sampler for the ramp could be slower than explicitly setting/incrementing values in an expression?

A runtime expression as simple as this could give you a basic linear ramp increase to test it.:
particleShape.goalPP += .01

If this is noticeably faster it would be hard to believe…but you never know with Maya.


#5

You will get an extreme slowdown as soon as you goalU or goalV exceeds 1.0. At least this was the case I used these expressions laste time. So I deleted the particles if goalU was bigger then 0.98 and everything worked fine.


#6

Good tip haggi about the slowdown for goals greater than 1.
If deleting isn’t an option, you can also just clamp the value as well.
Not 100% sure about the exact syntax right now but I think it along the lines of something like this:
particle.goalPP = clamp(0,1,particle.goalPP+.01);

Again, expressions might be worse all around performance wise…but fingers crossed.


#7

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.