bulia byak said:
Surely I'm interested. Insisting on left-right top-down redraw in all cases is really a stupid idea now that I think of it - we could just as easily paint it in any order.
Here's a patch that will change the redraw direction depending on the mouse pointer's position relative to the center of the redraw area. It will start from the corner closest to the mouse pointer and paint away from that corner. If the mouse is in the middle vertical third of the redraw area, the optimization isn't as noticeable, but on the corners, the difference is very visible. This is as far as I got on the first run, and I believe a further optimization would be to switch the repaint order (from rows -> columns to columns -> rows) if the mouse is farther left/right from the center than it is up/down from the center. This should solve the issue with the middle third of the rectangle not being drawn as often. Then, the only problem area would be the very middle of the repaint area.
John