I know many improvements and speed ups already done with BGE. but still I see 60 fps(frame per second) while running a game in it:no:. Is there any hope to remove this limitation from BGE ? and will a day come that we see max fps based on our hardware power?:o
the future is now
go to materials World buttons, in the Mist/Star/Physics tab
under the word “bullet” lookee there be fps setting.
also you could set to “enable all frames” in the Game menu (at the top of your screen)
edit: I’ve just tried and it ain’t working aaah, found that those fps’es are for bullet. continues searching
edit 2: I’m synced to my monitor… maybe you are too?
If enable all frames is turned on, the game will run as fast as hardware permits.
mine is limited to 60, blender can do 100
thanks friends. fps settings under Mist/Star/Physics tab seems to work .(i tested with social FPS_template ) but still with limitation of 120 fps NOT max of system power.
“enable all frames” in the Game menu also worked but is causes huge increase of game speed(movements) so player moves too fast than default settings.
is any way to use benefits of “enable all frames” without increasing the game speed?
I believe you essentially mean manually limiting the framerate. You could time each step (I’m not sure if either Python or Blender have a high-precision timer, investigation necessary) and use the python sleep function to sleep off excess time.
@Maju: I limited the fps option in World Settings to 120 because I couldn’t think of practical reasons to have higher fps. You can set higher values by Python if you want.
The “Enable all frames” setting in the game menu has a different effect: it disconnects the GE from realtime and let it run at full hardware speed but as far as the game is concerned, the frame are still running at normal fps => the characters run faster or slower than realtime depending if the hardware is faster or slower than realtime. The main interest of this mode is to make physics simulations for recording to Ipo: in this mode no frame is lost or interpolated because there is no need to maintain contact with realtime (hence the “Enable all frames” option name).
Note that the openGL driver may still limit the fps at the monitor frame sync. That’s what I have on my system: win32+nvidia+LCD screen.
Many thanks to ben for complete description. also others for response. You helped me a lot friends.
I’m sorry, but what will this achieve? You’ll barely be able to see the result.
where is this all frames thing any way?
While it’s not confirmed what speed our eyes can actually notice actual differences, once you get past 60fps the differences are BARELY noticeable.
It’s fun to see the high numbers and be like “zomg, my computer is t3h awes0meeeeeee,” but the practical use is limited.
Note that your framerate will also be limited by Vsync (the official name for what ben was describing). This is usually on… but you can force it off in your video card’s settings. Vsync limits the framerate to your monitor’s refresh rate… which is the number of times your monitor is updating every second. If Vsync is limiting this to 60fps, then your monitor is probably running at 60hertz.
Disabling Vsync might make that number go higher, but your monitor will only update 60 times per second… and so the difference will NOT be visible.
completelly agreed, also if the card’s refresh rate is not syncronized with the video retracing you will gets lots of visual artifacts (read, half frame in the past, half frame in the future), so having Vsync on is highly recommended for a better experience.
Good explanations, ben & samba.
One other thing this makes me think of;
The real strength of the BGE is its ease of use. It has a reputation as a great prototyping tool for game design and simulation. I’m not keen on taking it in a direction where it becomes harder to script and do logic for. With the logic fixed at 60 hz, more than enough for most things, comes predictability and simplicity.