On Thu, May 31, 2007 at 06:41:18PM -0400, Quinn Storm wrote: .. > the trouble I'm running into with the bug I was trying to tackle is pretty > simple. OpenGL expects an essentially volatile rendering pattern, with only > transient framebuffers, while gnash expects to render to a semi-permanent > framebuffer that will stick around until changed...and short of doing a > back-to-front copy every time anything is submitted to render (any line or > trimesh), I can't find a way to solve this
A solution would be for OpenGL backend to draw into an offscreen buffer and copy that to screen. Depending on GUI it could be done in different ways. For X-based guis, we might use a pixmap. X also has a "backing store" capability, but is not ensured to work. Anyway using a pixmap still has the advantage of more control over what's copied. We have two sets of invalidated bounds in gnash: one is the bound of invalidated regions due to playback, another is the bound of invalidated regions due to expose events. The renderer would render in the off-screen buffer only the playback-invalidated bounds, and from pixmap to on-screen only the expose-invalidated bounds would be copied. Does it sound ? --strk; _______________________________________________ Gnash-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnash-dev

