Controller loops
Maloney
johnm at wdi.disney.com
Tue Sep 8 18:27:41 UTC 1998
Re:
>John Maloney posted a great summary of this issue a couple of months
>ago (appended). After reading it I ran out and spent a few hours
>playing with the system, and here's what I came up with.
>
>In Morphic, it's *extremely* easy: just add a delay in
>WorldMorph.doOneCycle.
>
>In MVC, it's not so simple: there are busy loops all over the place.
>It's generally assumed that everything other than the current
>activity, is sitting static. In addition to Controller.controlLoop,
>there are seperate loops for menus, scrolling, resizing various
>things, and others.
>
>I've stuck a stab at this of my own at:
>
> http://www.cc.gatech.edu/~lex/squeak/www0.2/governedPolling.cs
>
>It handles all of Morphic, plus most of the cases in MVC where the
>mouse button isn't being held down.
>
>Emperically, it seems pretty good--load meters goes down to absolutely
>nothing when the system is idle, and if you leave it alone for a while
>and do other memory intensive tasks, much of the Squeak process will
>even get paged out to disk. I bet you could even play a full-speed
>game of Quake now with Squeak running in the background. And does the
>world get any better than nailguns and objects, existing side by side
>and in "peace"?
Lex's changes, which are similar to those suggested by Juan Manuel Vuletich,
will be in the upcoming Squeak 2.2 release.
-- John
More information about the Squeak-dev
mailing list
|