Morphic slow in 2.8 (was: Forecast)

David Farber dfarber at numenor.com
Wed Oct 4 22:22:59 UTC 2000


Bob - i can run this test if you'd like, but it is not just a FreeCell
issue, so i don't think the gradient is the culprit. the following snippet
suffices, on my machine, to show the difference:

| button |
button := SimpleButtonMorph new.
button
	on: #mouseDown send: #yourself to: button;
	label: 'hit me!!';
	openInWorld.

in 2.7, when you click on the button, it gets highlighted immediately. in
2.8, the delay between clicking and highlighting is quite noticeable.

david

At 06:04 PM 10/4/00 -0400, you wrote:
>On Wed, 04 Oct 2000 15:37:50 -0600 David Farber <dfarber at numenor.com> wrote:
>>I have experienced the same thing on my 200MHz NT machine moving from 2.7
>>to 2.8. The place it is most evident to me is with buttons; in 2.7 there
>>was no latency between clicking on a button and the button being
>>highlighted. In 2.8 there is a very noticably latency (probably ~ 500-700
>>msec). It is very easy to see (at least on my machine), for example, when
>>you press the "New game" button in FreeCell <grin>. For that reason, I have
>>not upgraded my FreeCell image to 2.8.
>
>One thing I recall happening in 2.8 was the addition of a gradient
background to FreeCell and I wonder if there is some problem there since
this requires Balloon to work properly. I have enclosed a little test that
may illuminate the issue.
>
>**** This does something odd to FreeCell, so you may not want to save the
image after filing it in. ****
>
>OK, having said that,
>
>1. File in the code below.
>2. Start FreeCell.
>3. Pick game #1
>4. Double click on an exposed card.
>5. Stand back and be amazed.
>
>When it's done, a MessageTally will appear. Let's compare numbers. I get
>
> - 336 tallies, 7132 msec.
>
>and
>**Leaves**
>20.8% {1483ms} GrafPort>>copyBits
>8.9% {635ms} BalloonEngine>>copyLoopFaster
>4.5% {321ms} Rectangle>>top
>3.6% {257ms} Rectangle>>right
>3.0% {214ms} DisplayScreen>>forceToScreen:
>2.7% {193ms} Rectangle>>bottom
>2.7% {193ms} Rectangle>>left
>2.4% {171ms} FormCanvas>>isVisible:
>2.4% {171ms} AlignmentMorph>>fullBounds
>
>in my 2.8 image. If your numbers are wildly different, maybe we should
look deeper into what the MessageTally says.
>
>Cheers,
>Bob
>
>
>=== code follows ===
>'From Squeak2.9alpha of 17 July 2000 [latest update: #2706] on 25
September 2000 at 1:31:54 pm'!
>
>!FreeCellBoard methodsFor: 'initialization' stamp: 'RAA 9/25/2000 13:26'!
>pickGame: aSeedOrNil
>
>	| sorted |
>	cardDeck _ PlayingCardDeck newDeck.
>	aSeedOrNil == 1 ifTrue: [
>		sorted _ cardDeck submorphs asSortedCollection: [ :a :b | a cardNumber
>= b cardNumber].
>		cardDeck
>			removeAllMorphs;
>			addAllMorphs: sorted.
>	] ifFalse: [
>		aSeedOrNil ifNotNil:[cardDeck seed: aSeedOrNil].
>		cardDeck shuffle.
>	].
>	self resetBoard! !
>
>
>!PlayingCardDeck methodsFor: 'events' stamp: 'RAA 9/25/2000 13:31'!
>doubleClickOnCard: aCard
>
>	| answer |
>	(target ~~ nil and: [cardDoubleClickSelector ~~ nil]) ifTrue: [
>		MessageTally spyOn: [
>			answer _ target perform: cardDoubleClickSelector with: self with: aCard.
>		].
>		^answer
>	]! !
>
>
--
David Farber
dfarber at numenor.com





More information about the Squeak-dev mailing list