Thursday, September 15, 2011

Max FPS Makes My Head Hertz

We've all seen the argument, "How many Frames per second can the human eye see?". The trouble is, while everybody seems to have a theory, nobody seems to be able to show concrete evidence to back it up. Instead of trying to convince you to agree with me based on no information, instead I'm going to discuss hardware limitations, and why they render the argument moot for most people.

If you know much about displays, you know they have a refresh rate, listed in Hertz(Hz). Hertz means cycles per second, so a 60Hz refresh rate means your display refreshes 60 times per second. In other words, no matter how many frames per second your GPU draws, only 60 can be shown on your screen. 60Hz is by far the most common refresh rate currently, although 3d capable displays and some others are capable of a 120Hz refresh rate.

Current video card drivers let you set video output rate, usually limiting you to a maximum of your display's refresh rate, but you can also lower it, which has some advantages for certain video enthusiasts. This is kind of outside the point, however. What's much more important is this: Your refresh rate is a hardware limitation on frame rate. There is no physical way to properly display a larger number of FPS. You can, however improperly display them.

Improper display will show itself in screen tearing. Essentially, your display is trying to show parts of two different frames at the same time, because it's receiving too many frames per second. This is where Vertical Sync comes into play. Vertical sync (also known as Vsync) lets you limit your rendered FPS to a fraction of your displays refresh rate. In other words, the most FPS you can get with Vsync enabled on a 60Hz display is 60 FPS.

You may be wondering, perhaps, exactly why I'm blathering on about vertical sync and refresh rates. Well, it becomes much more useful when you consider that no matter what actual frame rates the human eye is capable of differentiating, the human eye absolutely does notice sudden change. The human eye detects movement, and it is quite capable of noticing if the displayed frame rate suddenly drops from 60 to 45, which can happen quite easily with Vsync, if your rendered FPS drops below 60.

Since we don't want rendered FPS to drop below 60, some overhead in average frame rate is needed, to keep 60 as the minimum, if we're going to use Vsync. This is where excessive graphics power comes in on a display capped at 60Hz. In other words, while being able to get 90 FPS average may not make the game look any better than when it runs at 60 FPS, it does make the game look better by virtue of keeping it from making a sudden sharp dip. This is a hardware limitation. That means that any added perceived smoothness is purely a placebo effect. Your mind is playing tricks on you, plain and simple.

Oh, and if you want to know my thoughts on perceived framerate? It depends on the game, your PC, and you. If your PC has low input lag, and doesn't stutter, a fairly low framerate can look good in most cases. However, depending on the perception of speed being rendered, a higher framerate may be needed to make fast "motion" appear smooth, unless motion blur is rendered by the game.

No comments:

Post a Comment