Actually, that would be exactly 1000 + 1 distinct copy operations. The algorithm is O(w), where w is the width of the area being copied. It can actually be optimized further by checking whether horizontal or vertical segmentation is faster. Oops, I didn't get that part of the code. That said, there's no way to make it more efficient than a hardware implementation. It's quite usable this way, it's not as if everybody is dragging windows around all the time. But it is kind of sad my previous (9 year old) video card was faster. Having a scratch buffer, the size of the frame buffer would make things much simpler and reduce the amount of commands the CPU would have to generate. This would waste up to 16MB of memory, and double the amount of memory bandwidth required for an overlapping copy. But I wonder if it might still be faster. Mark. -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org