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 |
> 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 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 > > |
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? > > |
In reply to this post by Andreas.Raab
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 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 >> >> > > > > |
On Tue, Jan 17, 2006 at 02:52:12PM +0100, karl wrote:
> > > > 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 But the fix breaks MVC, so should not go into 3.8 (Mantis 2359). Dave |
Begin forwarded message: > >> This is fixed in 3.9alpha. A similar fix should probably go into 3.8. >> Karl > > But the fix breaks MVC, so should not go into 3.8 (Mantis 2359). > I tried to fix it at some point... but I don't think this was very successfull. I think it's now less often that the bug is happending. I will fix the MVC problem in 3.9a with the next update. Marcus |
Free forum by Nabble | Edit this page |