[haiku-appserver] pending patch
- From: Stephan Assmus <superstippi@xxxxxx>
- To: haiku-appserver@xxxxxxxxxxxxx
- Date: Sun, 05 Feb 2006 13:30:25 +0100
Hi all,
the other day I worked a bit on the app_server... I have a pending patch
that changes the way updates are sent to the client. The problem with the
current implementation is this: When the client code invalidates multiple
views or just different parts of one view while the message queue is
blocked, then the server will send _UPDATE_ for the first invalidation,
while the remaining invalidations will be combined in the server. So there
are two update sessions triggered. On R5, only one is triggered (I think).
To make it work like on R5, several things could be done:
1.) The server is notified by the client that the client is currently
"busy", ie the server should wait with sending update requests until the
client has told the server that it is now ready to receive them. :-\
2.) The server sends update requests for all invalidations, they are
combined in the client when the messages are processed. :-|
3.) The server doesn't put any information in the _UPDATE_ message at all
and simply tells the client that there would be an update pending for it.
When the client receives the notification, it asks the server what stuff
needs updating. The server could have combined new update information in
the meantime.
I implemented 3.) and it improves drawing speed quite a bit. WonderBrush is
much more responsive now. The problem is that some drawing defects can be
observed (small areas not being redrawn sometimes). Until I have more time
to investigate this bug, should I still commit the patch anyways, since it
makes redraws quite a bit faster?
Best regards,
-Stephan
- Follow-Ups:
- [haiku-appserver] Re: pending patch
- From: Axel Dörfler
Other related posts:
- » [haiku-appserver] pending patch
- » [haiku-appserver] Re: pending patch
- [haiku-appserver] Re: pending patch
- From: Axel Dörfler