Deferred updates/slow redraw on OS X

David T. Lewis lewis at mail.msen.com
Tue Jan 17 12:22:41 UTC 2006


Also note recent changes to Debugger>>openOn:context:label:contents:fullView:
since August 2005. One attempt to fix this also broke MVC, see
Mantis #2359 "Debugger in MVC opens in next available Morphic world".

Dave

On Tue, Jan 17, 2006 at 01:32:06AM -0800, Andreas Raab wrote:
>  > Does this ring any bells for anyone?
> 
> There is a possibility that this is caused by a debugger popping up via 
> a non-ui process. When this happens (which just so happened quite a 
> number of times to me) you see all sorts of weirdo effects - starting 
> from the debug button being in the wrong place, over redrawing stuff 
> extremely slowly, up to bogus recursive errors. The cause? Interference 
> of the debug process with the main Morphic UI process. The code in 
> Debugger>>openOn:context:label:contents:fullView: is questionable - it 
> forks off the debugger in a separate process but that process is not 
> synchronized with Morphic. What that code probably *should* say is 
> "WorldState addDeferredUIMessage:[...]" or somesuch. You might want to 
> try this and see if it addresses your problem. I wouldn't be surprised 
> if it did.
> 
> Avi Bryant wrote:
> > I've complained occasionally about the state my images can get into  
> > where there are frequent excruciating waits while each SystemWindow  
> > redraws itself many times slower than normal - these are often  
> > triggered by debuggers popping up but I also have images where just  
> > opening a new browser window can sometimes set it off.  (See http:// 
> > macos.tuwien.ac.at:9009/482103917.asHtml for one discussion about the  
> > problem).  I can now characterize it a little better, I think: what's  
> > happening is that the deferred updates flag is getting set to false,  
> > and yet the WorldState still has a canvas directly on the Display  
> > form.  If I disable deferred updating, and nil out the canvas on  
> > WorldState, then I'm pretty sure the problem goes away (and I don't  
> > notice any particular change in UI responsiveness, though I realize  
> > there must be some extra copying going on).
> > 
> > Does this ring any bells for anyone?
> > 



More information about the Squeak-dev mailing list