On Sat, 3 Aug 2002, Jouni Tulkki wrote:

> 
> I have noticed that moving and resizing windows is very slow when using
> window managers that update the window position/size immediately.
> The reason for this slowness (I think)  is that a huge number of
> exposure events are sent to the windows that need to be updated.
> On my machine (PentiumII 233 with 128MB memory and Matrox G400 with 16MB
> memory) this causes updating "chains" that can take many seconds to finish
> even when using relatively fast and well optimized programs like Netscape
> 4.77.
> 
> The problem is, I think, that exposure events are sent to windows
> even when the previous exposure events have not been processed. This
> causes exposure events to stack up. A smart client could ofcourse
> check if there are other exposure events in the event queue and remove
> them. Still I don't think this is the client's job and I haven't seen
> any program that would do so.

   It is the client's job and any client that doesn't compress events
is poortly written.  There's nothing the server can do about it, it
has to present the motion and exposure events in the proper order.
In the case of window moves the event is already sent to the client
and the X-server goes back to waiting on its file descriptors before
it gets the next move that would cause a new exposure.  There aren't
multiple exposes sitting around in the server.

   There are rendering schemes where clients don't even need exposures.
Consider rendering everything into a pixmap and setting that as a
window background.  You wouldn't even get exposures in that case.
Some current apps are so dumb that they redraw the whole scene for
each rectangle of exposed area - they're not even compressing rects
generated from the same move.  I don't think the server can be
faulted here.  It's just that there are too many people writing
applications when they don't fully know what they're doing.


                        Mark.
_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to