![]() |
|
#6
|
|||
|
|||
|
I think the problem here is the blocking nature of the socket calls in the director functions combined with the sudo threaded nature of director functions.
My theory: Vizard allocates some CPU time to director functions every frame. Because only one thread/director function can access the Python interpriter at a time, if a director function takes all the time Vizard allocates for director functions in a frame, the other director functions will not get executed in that frame. The solution is to make you director function call non-blocking (aka faster) network functions, or bust some C code to use real threads. Farshizzo, does this make sense? Maybe all you need is to add a viz.waitframe() call in the while loops to yield CPU to other director functions? As a side note, multi-threading really messes with my mind.
__________________
Paul Elliott WorldViz LLC |
|
|