VM Question: Full Screen Mode Startup

Les Tyrrell tyrrell at canis.uiuc.edu
Mon Jan 21 00:20:51 UTC 2002


----- Original Message -----
From: Noel J. Bergman <noel at devtech.com>
To: <squeak-dev at lists.squeakfoundation.org>
Sent: Sunday, January 20, 2002 3:05 PM
Subject: RE: VM Question: Full Screen Mode Startup


> Les,
>
> > I've been playing with the Squeak 2.2 Embedded development image.
> Currently
> > it is saved in full-screen mode.  It starts up fine, very quickly in fact.
> > Except for one little nit - there is an awful lot of [repainting.  How can
> I
> > fix it], so that starting full-screen Squeak proceeds with no percievable
> > transition?
>
> Which VM build?  Do you see the same activity when switching back to full
> screen (for example, if you minimize Squeak), or only during initial
> startup?

In this case, I am using what is probably a Squeak 2.2 VM.  However, I see the
same sort of effect on a Squeak 3.1 image+VM.  My impression is that this
fluttering is noticeable for both initial startup straight into full-screen
mode, as well as transitioning from windowed to full-screen mode.  However, I
feel that it is less noticeable going from windowed to full-screen mode.

I also just tried this a few times with all of the Squeak tools minimized, and
the fluttering seems to be reduced.  So, I suspect that this can be minimized
with some attention to double-buffering during these transitions, especially
on initial startup.  Transitioning from windowed to full-screen appears to
already involve some buffering, at least in the sense that the desktop is
already painted and ready to display again.

> I am not seeing the same thing with 3.1a6 VM and Squeak 3.3 image.

Actually, it is much easier to see this happening in a Morphic world... in my
case, I am looking at this in a 3.1 image.  There it is very obvious that
Morphic is doing an unbuffered redraw after transitioning to full-screen mode
from windowed mode.  Also, with the much larger 3.1 image it is pretty clear
that in MVC projects the full-screen start begins with a white background,
which is then painted with the desktop color, followed by the individual tool
windows being painted.  If this process is hidden, I would have the effect I
want in the much smaller 2.2 mini image.  However, in the much larger non-mini
images I think most people would either not care, or probably prefer the
existing behavior.  The reason I brought this up is that for a very small
image,  launching Squeak straight to full-screen mode could be done with no
percievable transition.  Even before the mouse button is fully released,
Squeak is up and running.  The only thing that spoils it is that there are a
few very rapid flickers the way it is set up now.

So, to get the effect I want, I need to look for where this transition occurs
and double-buffer it.  I suspect that this is something that can be changed
without altering the VM.

Thanks for the suggestions!

- les





More information about the Squeak-dev mailing list