A query on FPS

Started by javagamer, January 29, 2012, 07:46:46

Previous topic - Next topic

javagamer

Hi,

I am learning lwjgl now a days.
My query is that as in our game loop we call update on entities and then call render(which renders/draws the entity on screen)
then why does FPS(frame per second) parameter impacts our game, as we are manually calling render from our game loop.
As far as I understand, FPS determines the rate at which entities are drawn/rendered by graphics engine of game,but as we are
ouselves calling render method then it means for every update there is a render, so why is FPS so important
and so much heavily figures in game related documents, articles etc?
Please clarify.



CodeBunny

We must consider FPS (Frames Per Second) because of the following important fact: A computer can only do so many computations per second. Games are usually very computation-expensive, so they are particularly bound by this rule.

In games, there are three aspects of this:

  • Our update commands take time, and sometimes those slow down our game. (This is usually the least important factor, as update logic can be optimized more than any other aspect of the game).
  • The actual monitor has a refresh rate limit (usually 60). Having a game render faster than this is completely worthless, as it is impossible to see changes at a faster rate. This is why games usually cap FPS to 60.
  • Render calls can get very expensive, and usually are the main reason why games run slowly. Additionally, game developers have to program for a wide range of hardware, and some of that hardware is relatively crappy, so you have to keep that in consideration. These reasons are the primary focus of frame rate optimization.

Again, this is exacerbated in gaming because most people find a low frame rate actively painful. It looks choppy and strains the eye, so games with poor or unsteady frame rates are often considered "unplayable."

Cubic

And, since normally states in games are discrete rather than continuous, you normally set an upper limit for the frame rate as well, to prevent the game from going too fast (such a limit would be sensible for the graphical fps as well, as drawing faster than the given monitors refresh rate is simply a waste of time, not to mention taxing on the hardware. For example, my GPU will produce VERY annoying sounds when I attempt to draw at about 500+ fps).