Is ExecuteEffector() a critical section?

On 02/07/2013 at 11:01, xxxxxxxx wrote:

User Information:
Cinema 4D Version:    
Language(s) :

Does EffectorData::ExecuteEffector() represent a critical section? There is no such information in
the documentation, though I could imagine multiple objects making use of the same effector
invoking it from different threads at the same time.

Within ExecuteEffector(), I store the MoData passed to this method in the Effectors' members. If
the method is called from multiple threads at the same time, it will certainly screw things up.

Can someone cancel out my fears with this?

On 15/07/2013 at 08:15, xxxxxxxx wrote:

I am not an expert with mograph but in Effex I had massive problems with multithreaded calls when I tried to execute effectors. It simply doesn't work (from a scenehook at least). The modified data was always scrambled afterward. I had to precompute them single-threaded (there is a thread of mine here in the forum about this), which worked then. Not sure if this helps but that was my experience.