[squeak-dev] Defer updates & drawings

Igor Stasenko siguctua at gmail.com
Fri Nov 7 09:35:32 UTC 2008


Hello list,

from first time i tried to understand the logic of deferring updates
in Display & PasteUpMorph code and i'm still confused.

Things how i understand it is following:

you can ask VM to defer updates of screen.
In deferred mode all drawing operations should not appear immediately on screen.
But once you disable it, you can force portion of screen to be updated
by using #forceToScreen: message.
What is interesting that you can force to update a portion of screen
regardless being in deferred more or not, and it will update the
window immediately.

Deferred mode implies, that somewhere under the hood, VM or OS keeping
an offscreen surface in operative memory and then will use it to
draw/swap on screen in single shot.
Now, second thing, if you look through code, how PasteUpMorph works
with Display, it acquring an #assuredCanvas , which in own turn
makes sure it gets new, fresh __offscreen__ form , having same
dimensions as current Display to draw into it.

Is it only me who think that two offscreen surfaces (one at language
side, second at VM side) is a bit overkill?


-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list