[Oberon] Message queue and Pointer
dan.parnete at fastwebnet.it
Wed May 10 12:41:18 CEST 2006
As exposed in a previous issue "Bluebottle limits reached" we have
grow the message queue size. This solved the lose of messages, but in a
particular situation it puts in evidence a big number of useless
messages that arrives to subcomponents, spending to much processor time.
To observe this you need to use the framework, or better an
application I use for test and development. It is more evident using a
Windows client, witch is slower a has the message queue enlarged, the in
Bluebottle witch is faster and with it's 128 queue discard
(providentially) most of the useless messages. You have to download the
BBwClient from ftp://184.108.40.206 and extract it somewhere. Execute
Aos.exe and at the login window write:
At the first time a modules upgrade will be done, and then exits. You
have to reenter. Then go to Setup/Admin to enter the IDE (development
system). Here pressing ctrl-o will open the Kernel Log. Then open
FORMS/Clienti for example. Make a multi selection with ML and drag over
some fields. Then ML a selected one and drag around to move them.
Release the mouse and then click somewhere on the form, out of the any
field. Repeat that click until selected fields are unselected.
You can move selected fields not only by mouse drag (5 pixel grid step)
but even with the arrow keys (1 pixel).
1. During this moving operation a lot of messages are fired. It depends
on the number of fields selected. If all useful messages are executed in
reasonable time, what kind of messages are still on the queue and create
2. What happens with the pointer massages during this latency? As you
can see on the log, even if the mouse points on the form, the control
witch receive the PointerDown is a label/field (Label PD), and finally
when all message queues have finished their activities, the form
receives it (Form PD). Very strange. Haw could be explained?
P.S.: If you will see a "User or password unknown" during the use of the
application, means another connection with the same user has been done
after you. Only one connection with a user name is admitted.
More information about the Oberon