Deferred updates/slow redraw on OS X

karl karl.ramberg at chello.se
Tue Jan 17 13:52:12 UTC 2006


Andreas Raab skrev:
> > 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.
>
> Cheers,
>   - Andreas
This is fixed in 3.9alpha. A similar fix should probably go into 3.8.
Karl
>
> 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?
>>
>> Avi
>>
>>
>
>
>
>





More information about the Squeak-dev mailing list