I would like to know what reason there is to support more than a single back buffer when using a bufferstrategy.
As far as I know this has 2 uses, both of which are apparently not possible with the API as it stands.
The first use is, when using 3 buffers, to have the first buffer (the primary surface) being displayed, the second buffer ready and waiting for the vertical retrace so that it can appear next, and the third buffer being drawn on.
This can't be done in Java since there's no way to intercept the retrace, and show() is not syncronized with the retrace either.
The second use is to draw on as many buffers as we can and optimally do PAGE FLIPPING between them, another impossibility since apparently we can only access one buffer at a time.
The last line of this tutorial: http://java.sun.com/docs/books/tutorial/extra/fullscreen/bufferstrategy.html
, states that 'It may be end up being wasteful to use more than one back buffer. Multi-buffering is only useful when the drawing time exceeds the time spent to do a show. Profile your application.'
But that's no real use for multiple buffers. As it says in the tutorial, one should think about optimizing if it gets to that, specially for games.
I know there's a gaming API being developed by Sun, but they should think about adding this functionality to BufferStrategy since that's where it belongs.
Any comments on this? I'm mostly curious as to why they would add this functionality if it's mostly useless as it is. Maybe there's another use and I'm missing something.