View Single Post
  #6  
Old 07-08-2008, 12:37 PM
Gladsomebeast Gladsomebeast is offline
Member
 
Join Date: Mar 2005
Location: Isla Vizta, CA
Posts: 397
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
Reply With Quote