Hello, I'm using Linux and XFree for quite some time now and I'm a big fan of it. However, there is one bug that has always annoyed me. When I resize a window under XFree then it can take a long time until the content of this window is redrawn. I've also looked into the Mailing List archieves and found an discussion about this topic earlier, but it seemed to be without a result: http://www.xfree86.org/pipermail/render/2001-March/000829.html I think that it would be good to have this issue fixed for two reasons. First, it looks ugly and second, for many people resizing a window is a simple way of testing the performance of a new OS like Linux. First I also thought that this is an performance problem but I've tested it on really fast hardware and that didn't make much difference. Now I've looked a little bit closer and noticed that it more kind of an synchronization problem between X, the WM and the App, than an performance problem. While resizing a window it's frame is redrawn at a very high rate. Only the window contents is redrawn very slowly. It sometimes even takes seconds to redraw. I think the problem is like this: First the window manager gets an event from the mouse and decides that the window needs to be resized. For every new mouse position it receives, the WM draws a new window decoration. At the same time the WM sends a message through X to the application that the window content needs to be refreshed. Unfortunately, the application needs more time to redraw than the WM and is also running at a lower priority. Therefore the application throws many redraw requests away. In my opinion, the solution would be that after the WM has send the redraw request to the application it should wait until the application has finished redrawing the window before processing the next mouse event. I had a look into the X api but I didn't figure out how the WM could detect if the redawing is finished or not. But it might be that I've overlooked it. One way of getting this information would be to let the WM and the application talk directly to each other, but I think that this would be a hack. I would have tried to come up with a patch on my own, but I really don't know enough about XFree to do that. Another thing that I've noticed is that when moving a window from left to right or vice versa the window is split along a line and the upper part of the window is drawn at a slightly different position than the lower part. This splitting line is always at a different position. I think this happens because X doesn't synchronize with the horizontal screen refresh. X should wait until the screen refresh is finished before changing the frame buffer so that only a consistent picture is brought to the screen. In case I got something wrong here than I would like to apologize for it.
Cheers, Lukas _______________________________________________ Xpert mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xpert
