Take a look at Morph>>invalidRect: as opposed to #changed for more optimal
screen updates if required ;-)
Nice job on the tutorial Hilaire btw.
Regards, Gary
----- Original Message -----
From: "Schwab,Wilhelm K" <[email protected]>
To: <[email protected]>
Sent: Friday, June 11, 2010 2:59 PM
Subject: Re: [Pharo-project] GUI Polymorph
Hilaire,
I will indeed consider it, but it will take me time to get to your level of
understanding of Polymorph. My priorities are networking, serial
communications, printing (which I am dreading) and then finally GUI
construction. The last two are backwards, but the GUI does me no good if I
can't print on Linux. Somewhere in there I hope to pull a big thorn out of
my foot by moving various machines to Linux. With a working GUI+printing,
the rest of the boxes go to Linux, and the drinks are on me :)
Understood about your objectives, but I think they SHOULD include teaching
efficient updates. When MS did this correctly, they did the simplest thing
that would work, and then separately modified it for efficiency. Smalltalk
is not the fastest language in existence, Pharo is not the fastest among its
peers, and even if it were, we should be doing things better and more
efficiently than the rest of the world. It is nuts that we need 2GB of RAM
to boot an OS and read email; while that sloppiness arguably begins in
Redmond, it can be attenuated here.
Bill
________________________________________
From: [email protected]
[[email protected]] On Behalf Of Hilaire Fernandes
[[email protected]]
Sent: Friday, June 11, 2010 9:46 AM
To: [email protected]
Subject: Re: [Pharo-project] GUI Polymorph
Schwab,Wilhelm K a écrit :
Hilaire,
It was interesting to watch MS' position on GUI examples change over time.
Visual C++ started out teaching how to create efficient software. Then
one day those examples were gone and all they could talk about was "smooth
scrolling" which turned out to be a way to make the machine do the
inefficient thing four times instead of once.
The idea of altering the model, finding out what is invalidated, marking
that as closely as can be done within bounds of common sense (or until
diminishing returns), and then drawing just the changed parts is
non-intuitive and VERY important. You have done a wonderful job so far,
but optimization deserves attention.
Please fell free to search and to document it. As I wrote in my previous
email, my objective writing this documentation was not how to
efficiently implement a paint canvas.
Hilaire
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project