nanogui: Panning and double buffering
Subject:
Re: [nanogui] Panning and double buffering
From:
"Greg Haerr" ####@####.####
Date:
21 Apr 2006 17:52:45 +0100
Message-Id: <05dd01c66563$fa2fc480$0300a8c0@RDP>
: When changing from one bitmap to another the LCD flickers because
: it takes a while to paint the new image in memory. I'd like to exploit
: panning ioctl to avoid this. In other words the new bitmap should be put
: on a second buffer and, after this opearation has completed, application
: code should change framebuffer pointer with the aforementioned ioctl
Microwindows doesn't support any low-level hardware control
except framebuffer r/w and ioctls for palette loading, so you'll
have to add this "framebuffer switch" capability yourself.
It's a little tricky exactly how to handle this, since you'll effectively
have two hw framebuffers, but Microwindows normally clips all
output to the displayed framebuffer. One way might be to add
two new GrXXX API calls, one that sets the hw framebuffer
currently displayed, and another that changes the the low level
memory-mapped address for the Microwindows drawing
framebuffer, scrdev.addr. Perhaps both these values are
set in one call. In this way, you could display from one
fb while drawing in another, and then swap.
Regards,
Greg