Page Flipping

This might not be the best spot to post this, but here is goes anyways. I’m wondering if there are any ways to achieve page-flipping without using BufferStrategy? Or does anyone know any good BufferStrategy page-flipping examples? I haven’t been able to find any, and the sunsite ones are a little bit lacking in the page-flipping department.

Any idea’s?

I was thinking of possibly having two frames and flipping back and fourth between them. Might be slow though…

as far as im aware, PageFlipping is only available through BufferStrategy, and will only be used for Windows that are in fullscreen exclusive mode. (atleast on Windows platforms)

Im not sure about solaris/linux/mac implementations - but it wouldn’t suprise me if page flipping isn’t supported at all under those platforms. (pls correct me if im wrong)

There’s no way to get the page flipping other than using BufferStrategy.

For the examples, take a look at
http://java.sun.com/docs/books/tutorial/extra/fullscreen/

hmmm i don’t really like the BufferStrategy examples on the sun site. So i’ve got another question, will BufferStrategy always use page flipping when possible?

I don’t want to hi-jack your thread but I am curious, what exactly happens with a BufferStrategy on laptops? How is the synchronization of the vertical retrace accomplished with an LCD screen?

How about this:
http://java.sun.com/docs/books/tutorial/extra/fullscreen/example.html

In particular,
http://java.sun.com/docs/books/tutorial/extra/fullscreen/example-1dot4/MultiBufferTest.java

As I understand, you’ll get your 60fps, that’s the refresh rate of lcd screens.

[quote]As I understand, you’ll get your 60fps, that’s the refresh rate of lcd screens.
[/quote]
Well, on my laptop I get more than 180 fps, which could be more if my laptop would be faster.
I have no control over that in my videodrivers (no vblank sync option or something).

Is that using FlipBufferStrategy? Strange… Check the capabilities of the BufferStragegy object you get (by using getCapabilities().isPageFlipping()).

It could be that you’re actually using blitting instead of flipping because of the hardware restrictions.

For what it’s worth, the Gameboy Advance is an LCD screen system, yet the code to draw to the screen is still vblank-based.

Michael Bishop