On 11/22/06, Fons Adriaensen <fons.adriaensen@xxxxxxxxx> wrote:
On Wed, Nov 22, 2006 at 12:37:16AM +0100, Dominic Sacré wrote: > Wow, 1%?! Is that using plain X11? Sounds almost too good to be true. > I think it goes without saying that I'd be interested in seeing your > code ;)
The main X11 call used are: XCopyArea() scroll XFillRectange() clear the new part XDrawSegments() plot the new lines
Yes, the key to fast (efficient) scrolling is to use a pixel copying routine (glCopyPixels is the GL equivalent) then draw only the new data. The copying routines are hardware accelerated by the display driver. The downside is that it is difficult to overlay drawing into this area that you don't want scrolled, which might be why freewheeling doesn't use the technique (I'm just guessing). jlc