kzinti wrote:
I don't agree with that. Double implies two. Either you have two video memory buffers or you don't. Having a single non-video memory buffer to speed up read/writes to video memory is just... buffering. A single buffer.
It doesn't matter where the other buffer is, it's still double buffering. As Gigasoft says, page flipping and copying are both approaches to double buffering. It might help to consider some history about what
single buffering means to see how both page flipping
and copying are valid approaches to double buffering.
In the earliest days of video, there were
no buffers - you had to race the beam as it scanned across the screen, and in a time where memory was expensive there was no representations of a final image anywhere on the computer, CPU cycles had to be dedicated to the task of figuring out what to draw as the cathode moved. One of the first advancements in this space was
character generators - sure, you don't have the memory to store a full image, but mask ROMs (for glyph shapes) are cheap, and a handful of lines of a few dozen characters each
is feasible to store in memory - this is how we ended up with so many text-based systems back in the day, and it's still visible in legacy VGA text mode. As memory got cheaper, we got
frame buffers, and for most of computing history you were lucky to get
one - not just one in the video hardware, but one total. Memory was still expensive, and screens had gotten bigger (and users wanted more colors). In these setups, applications quite literally drew their window contents directly into the framebuffer, and if this was slow enough (as it often was) there were very noticeable artifacts, generally in the form of displayed elements being clearly drawn from bottom to top - the painter's algorithm in action, right on your screen. This was such a common problem
it became a meme.