Berserk idleLoop in event handling?
John M McIntosh
johnmci at smalltalkconsulting.com
Thu Jan 8 05:59:39 UTC 2004
Another 2, but this time I've added event 90 and 91 to capture the
WorldState>> doOneCycleFor: aWorld
"Do one cycle of the interaction loop. This method is called
repeatedly when the world is running.
This is a moderately private method; a better alternative is usually
either to wait for events or to check the state of things from #step
methods."
Event 90
self interCyclePause: (Preferences higherPerformance ifTrue: [1]
ifFalse: [MinCycleLapse]).
Event 91
MMmm really need a method to map the event types to the static
comments. Guess I'll put one together before
the next message.
type 90 time 5327 intercycle pause: sleep start
type 82 time 5327
type 7 time 5358 key down in VM
type 80 time 5359
type 82 time 5360
type 81 time 5360
type 81 time 5360
type 82 time 5360 Assume EventSensor process wakes up
type 10 time 5360 EventSensor digests things.
type 11 time 5360
type 12 time 5361
type 10 time 5361
type 11 time 5361
type 12 time 5361
type 10 time 5361
type 11 time 5361
type 12 time 5362
type 10 time 5362
type 11 time 5362
type 82 time 5362 assume doOneCycleFor: process wakes up
type 91 time 5362 wake from intercycle pause: (35 ms?)
type 20 time 5362 Morphic start Sensor nextEvent {key down ....
type 21 time 5362
type 22 time 5362
type 23 time 5362
type 24 time 5363
type 25 time 5364
type 20 time 5364 key char
type 21 time 5364
type 22 time 5364
type 23 time 5365
type 24 time 5365
type 25 time 5440
type 20 time 5440 key up
type 21 time 5440
type 22 time 5440
type 23 time 5441
type 24 time 5441
type 25 time 5442
80ms that time...
Lets do one more
type 10 time 6579
type 11 time 6579
type 82 time 6579
type 21 time 6580
type 81 time 6594
type 82 time 6594
type 81 time 6594
type 82 time 6594
type 90 time 6594 sleep for intercycle pause
type 82 time 6595
type 1 time 6595 sleep in ioRelinquishProcessorForMicroseconds
type 7 time 6600 keyboard
type 2 time 6601 wake
{ I think this is a problem, the keyboard event I don't think awakes
ioRelinquishProcessorForMicroseconds on the mac}
{ Will need to check this further }
type 80 time 6601
type 82 time 6601
type 81 time 6601
type 81 time 6601
type 82 time 6601
type 10 time 6602 event sensor chews on events.
type 11 time 6602
type 12 time 6602
type 10 time 6602
type 11 time 6602
type 12 time 6602
type 10 time 6602
type 11 time 6602
type 12 time 6603
type 10 time 6603
type 11 time 6603 Events on event sensor queue
took 2 ms.
type 82 time 6603
type 91 time 6603 wake from intercycle pause 8ms
type 20 time 6603 key down
type 21 time 6603
type 22 time 6603
type 23 time 6604
type 24 time 6604
type 25 time 6605
type 20 time 6605 key char
type 21 time 6605
type 22 time 6605
type 23 time 6605
type 24 time 6606
type 25 time 6625 digest 25 ms?
type 20 time 6625 key up
type 70 time 6625 IGC
type 71 time 6627 IGC end
type 21 time 6627
type 22 time 6627
type 23 time 6628
type 24 time 6628
type 25 time 6629
26 ms
This is better...
--
========================================================================
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
========================================================================
===
More information about the Squeak-dev
mailing list
|