Best/Optimum Frame-Per-Second (FPS) for 2D Game?

I heard that a 2D game is enough with 24 fps (flash game is 24 fps I guess).
And because of that I set my game to 50 fps to be sure it runs nicely, but then I notice the game is not as good as when I set to 100 fps.
In 200 fps it not differ with 100 fps.

What is the best frame per second for game really is?
And I know it doesn’t make sense not capping the fps (let the fps max out to hundreds or thousands).

So far I see 100 fps is the optimum, but then is it good to make the fps this high? I’m afraid on low spec pc the fps is too far low than the target fps (100 fps)
What do you guys think?

I think it is a “business logic” what runs 24 fps in Flash app (or other fixed rate specified by the developer). But how many times screen is drawn might follow the VSYNC frequency.

Cap frames fps drawing to VSYNC (java’s bufferstrategy should do this) and adjust animations using a time-based animation technique. This forum has somewhere a discussion about it, should find it with search tool.

Yeah the best probably the fps that follow the monitor refresh rate (vsync).
Perhaps I should check the monitor display refresh rate and set the fps based on it.
Do you guys set the fps based on vsync too? Cos what I know is vsync in bufferstrategy is only working in fullscreen mode.
And I just wonder why flash game feel so smooth with only 24 fps or so.

EDIT: wow we have equal posting number! ;D

50fps is the minimum to look professional, and in reality, the maximum needed, not 24fps.

Cas :slight_smile:

Spooky, look at our registration dates ::slight_smile: ::slight_smile:
I was registered: Jan 3rd, 2003, 2:02pm
You were registered: Jan 1st, 2003, 8:51pm

I did not know that vsync is only available in fullscreen mode in Java2D.

50 fps is the minimum? Wow so my game engine right now is at the minimum frame rate. :stuck_out_tongue:
Hmmm I guess I better raise it to 100 fps, it’s time base anyway. Thanks!

Wow spooky indeed! Same post number with almost same registration date :slight_smile:

Eh, is it only me or vsync not working in bufferstrategy windowed mode?
In fullscreen mode the frame rate is limited to vsync but in windowed mode is not.

Vsync does not generally work in any windowed mode as the window does not have any concept of the video scanline thingy. It has to share the screen with lots of other windows.

Cas :slight_smile:

There are different refresh rates used out there:

-24 cinema
-25 pal50 interlaced
-50 pal50 progressive
-30 ntsc/pal60 interlaced
-60 ntsc/pal60 progressive
-55-60 arcade screens (usually 60)

Generally I would say… for arcade-ish or 3d games go for a minimum of 60fps and if it’s some rpg thing (zelda-ish) 30fps are sufficient.

[quote]Vsync does not generally work in any windowed mode
[/quote]
It works in LWJGL and JOGL windowed mode?
Both of LWJGL and JOGL windowed mode is vsync to monitor refresh rate.

[quote] Generally I would say… for arcade-ish or 3d games go for a minimum of 60fps and if it’s some rpg thing (zelda-ish) 30fps are sufficient.
[/quote]
So if I set the game to 100 fps and using time based game, I will be saved right!? :slight_smile:

Thanks! Gonna change my game engine default fps right now :slight_smile:

It works in LWJGL and JOGL windowed mode?

It can work. You can gently ask for vsync, but there is absolutely no guarantee. You can’t even determine if it’s enabled or not (you can do this with nvidia cards only, but not from within lwjgl/jogl).

Timebased and a rather high cap should be ok about everywhere, yes.

In here vsync windowed mode is working in both LWJGL and JOGL but not Java2D.
Oh well, I don’t need it anymore I think, right now I just set the fps to rather high (100 fps) and let the game begin :slight_smile: