[Bf-committers] [RFC] Re: Blender profiling-1 O16.2int

John K. Walton bf-committers@blender.org
Tue, 26 Aug 2003 07:06:06 -0400 (EDT)


On Tue, 26 Aug 2003, Ton Roosendaal wrote:

> Hi,
> 
> Nice you tracked it down, but the solution is not the correct one... in  
> loops where Blender polls the mouse, this call is made to keep it idle:
> 
> (editscreen.c)
> 
> static int statechanged= 0;
> void BIF_wait_for_statechange(void)
> {
> 	if (!statechanged) {
> 			/* Safety, don't wait more than 0.1 seconds */
> 		double stime= PIL_check_seconds_timer();
> 		while (!statechanged) {
> 			winlay_process_events(1);
> 			if ((PIL_check_seconds_timer()-stime)>0.1) break;
> 		}
> 		statechanged= 0;
> 	}
> }
> 
> It's from the Ghost integration period... apparently the function isn't  
> correctly implemented here. I don't have time today to investigate  
> this. But will put it at the list.
> 
> At OSX I see the cpu going to 100% load as well while pressing  
> middlemouse, although interactivity doesn't suffer from it.

i see %50 user %50 sys usage, might be related to lag.
 
> -Ton-
> 
> 
> 
> 
> On Tuesday, Aug 26, 2003, at 05:34 Europe/Amsterdam, Kester Maddock  
> wrote:
> 
> > On Tue, 26 Aug 2003 2:46, John K. Walton wrote:
> >> yes i've mentioned this in the past. holding the middle mouse or right
> >> mouse button _without_doing_anything_ eats up cpu time. it is clearly
> >> a waste of cpu time. nobody responded.
> >
> > In source/blender/src/view.c void viewmove(void)
> > we have
> > while (TRUE)
> > {
> > 	getmouseco_sc(mval);
> > 	/* do stuff w/ mouse coordinates */
> > }
> >
> > and getmouseco_sc (& related) poll the mouse when they could be  
> > waiting for
> > mouse events.
> >
> > The solution is to duplicate
> > void getmouse(short *mval)
> > {
> > 	winlay_process_events(0);
> > 	window_get_mouse(mainwin, mval);
> > }
> >
> > as
> >
> > void getmouse_wait(short *mval)
> > {
> > 	winlay_process_events(1);
> > 	window_get_mouse(mainwin, mval);
> > }
> >
> > and change all the loops that can use this behaviour to use it.
> >
> > Kester
> > _______________________________________________
> > Bf-committers mailing list
> > Bf-committers@blender.org
> > http://www.blender.org/mailman/listinfo/bf-committers
> >
> >
> ------------------------------------------------------------------------ 
> --
> Ton Roosendaal  Blender Foundation ton@blender.org  
> http://www.blender.org
> 
> _______________________________________________
> Bf-committers mailing list
> Bf-committers@blender.org
> http://www.blender.org/mailman/listinfo/bf-committers
>