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