Opened 4 years ago
Nibble effect doesn't like double buffering
|Reported by:||David||Owned by:||David|
The nibble effect doesn't work properly with double and/or triple buffers (not totally sure which), which results in horrible, cheap looking flickering.
Problematic, as the nibble effect is iterative, and as such, positively has to know exactly how page flipping is done. Then again, this should be detected anyway; see #23, so we should be able to do this reliably, with a correct "nibbler" implementation.
Either way, the solution is to repeat each step of the iteration (ie each "frame" of nibbles drawn) on each buffer, just like the graphics engine does for things like the score and lives displays.
So, if the screen is double buffered, for each frame you first draw the same set of nibbles you drew on the last frame, and then the new set of nibbles for the current frame. With a triple buffered display, you have to track two frames back.
Alternatively, ditch the nibble effect and implement a bunch of new transition effects that render full frames into the display surface. Or do both while at it... :-)