![]()  | 
	
| 
	 | 
| 
		 
			 
			#1  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
|||
| 
		
	
		
		
		
		 
			
			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  | 
| 
		 
			 
			#2  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
|||
| 
		
	
		
		
		
		 
			
			Adding the viz.waitframe() minimized the lag to a reasonable value. Thank you both for your input.
		 
		
		
		
		
		
		
		
		
	
	 | 
![]()  | 
	
	
		
  | 
	
		
  |