[squeak-dev] How can I count redraws of SystemWindows?

Matthias Berth matthias.berth at googlemail.com
Sat May 3 06:12:49 UTC 2008


Thanks a lot everyone, I think I'll make good use of your suggestions.

Cheers

Matthias

On Fri, May 2, 2008 at 11:17 PM, Igor Stasenko <siguctua at gmail.com> wrote:
> Transcript is forcefully redrawn if you issue show: command.
>  But, if you use just #nextPut:/ #nextPutAll: it will be not redrawn
>  immediately, only when Transcript window is redrawn in world redraw
>  cycle.
>
>  In previous posts to squeak-dev, i already highlighted this issue.
>  There is no real need in updating Transcript window more often than
>  each 20ms (which is a hard-coded world update cycle). And #show:
>  command should not forcefully redraw window, just invalidate it , so
>  on next cycle window will be updated automatically.
>
>  The only reason, why this bad habit is still present in image, because
>  there are many applications which working in single-threaded manner,
>  by locking UI, preventing it to update regularly, and as consequence
>  you need to update things manually instead of letting world update
>  cycle update it automatically.
>  Some people advocating, that direct redraw of Transcript window each
>  time you invoking #show: letting user to see message immediately.
>  But, if you do not lock UI process with own lengthly process, which
>  preventing updates each 20ms, what difference then? Do you really
>  think you will notice 20ms delay?
>  Also consider putting single character in transcript 1000 times in a
>  row. Is there a real need to redraw Transcript each time for each
>  character?
>
>  2008/5/2 Matthias Berth <matthias.berth at googlemail.com>:
>
>
> > Hello,
>  >
>  >
>  >  I am trying to find out why browsers get slower when you open more of
>  >  them in Squeak 3.9 (see previous emails). One theory is that hidden
>  >  browsers are redrawn. I'd like to test that by making a note on the
>  >  Transcript every time a browser window gets redrawn. I have tried to
>  >  override SystemWindow>>fullRedrawOn: aCanvas. Unfortunately, the image
>  >  locks up when I try to accept a non-trivial variation. I have tried
>  >  e.g.
>  >
>  >  fullDrawOn: aCanvas
>  >   super fullDrawOn: aCanvas
>  >   self title. "Hangs."
>  >
>  >  Sometimes I am able to accept more complicated variants of this, but
>  >  invariably I ended up with a hanging mage. I have tried to write to
>  >  transcript only if I am inside certain type of window, in order to
>  >  avoid redrawing loops for the transcript window. That failed because I
>  >  ws not able to accept these variants of fullDrawOn:.
>  >
>  >  Anything else I can try to count redraws?
>  >
>  >  Cheers
>  >
>  >  Matthias
>  >
>  >
>
>
>
>  --
>  Best regards,
>  Igor Stasenko AKA sig.
>
>



More information about the Squeak-dev mailing list