Kamal123 wrote:
Hi,
I use compositing window manager, so for now, when I move an window the server sends messages to clients to redraw itself in new position then clients redraw every widgets in new position which becomes slower when many widgets are present and sometimes the entire system crashes!! Is my method is correct?.. what method do you apply for window movement in compositor?...
What happens actually, when window is moved in compositing window manager?
Thanks in advance!!
A compositing window manager should provide each top level window with its own pixmap buffer, into which the application renders its widgets. The compositing window manager then blits that buffer to its final position on the screen. So moving a window on the screen should just be a blit of an already rendered buffer, no client redrawing necessary.
Expose events are a throwback to when the screen framebuffer was the only place widgets were rendered, and made sense when video cards had 256KB RAM and machines didn't have enough main memory space or bandwidth to maintain an off screen pixmap for each top level window.