From an interesting thread I've been reading; this guy does this kind of thing for a living. Very interesting stuff.
.....
>The human eye can detect differences up to around 70 fps or so. That's why you can
>tell the difference between a monitor with a 60 Hz refresh, and one with 85 Hz refresh.
>One gives a headache, the other doesn't, because it's faster than the human eye can detect.
------------------------------------------------------------------------
What you are actually describing is the flicker frequency effect. Actual human flicker frequency is down around 29Hz depending on eye color (blue is worst, brown best--generally) and personal fatigue for reflective light and goes up in frequency the brighter the source is (like CRT's). It is also affected by surrounding color and illumination with the noticeable frequency becoming higher the darker it gets in the surrounding environment. This has absolutely nothing to do with a rendering frame rate, it is simply the rate the video card pushes a new screens worth of pixel information across the monitor cable from the current frame buffer.
Because the brain takes approximately 50ms to process raw sensory input at the retina into coherent abstract images, we have adapted the ability to stitch static pictures together into coherent motion (mostly because we expect it, not because it is really happening). 1000ms / 50ms = 20. That's not saying we process at 20fps, but it does give a baseline to begin comparison. The brain takes a lot of shortcuts and spends more effort on the things that change, because several hundred million years of evolution have borne out moving things are more likely to be dangerous or food. So we can detect these moving things at high update rates. As long as the time/distance relationship between successive images falls within what the brain expectations for the motion, it is mentally assessed as continuous despite the explicit lack of information between point a and b.
About 100 years of motion picture technology have determined that 24 fps is the best tradeoff for the conditions in a theater and 50 years of TV show 30fps is better when you use a CRT. Computers don't change this at all.
Under some very high rate of movement situations, higher frame rates than these will smooth things out some, but not much. You can also tell a difference in a side-by-side comparison if the frame rates are quite a bit higher than the accepted standards, but that discrimination diminishes greatly if you are not side-by-side.
Insane frame rates are indicative of underutilized computing resources. That's why they drop when you use those resources to put in more eye-candy. Once you get much above 30fps you don't add much in the way of smoothness with the following exception. If you have a frame rate that is an integer multiple of the actual screen update frequency, you avoid drawing the same exact frame more than it should be drawn. Example: 60Hz update rate and 90fps. The game draws frame one and it goes into the frame buffer and it gets displayed. Meanwhile the game is drawing frame 2 but isn't finished when it is time for update number one, so the first frame is sent to the screen again. Frame 2 finishes and frame three is begun and also finishes just in time to be used as update 2 to the monitor. End result is we dropped a computed frame in the middle and wasted those computations. The odder the multiples the weirder and potentially choppier the results, despite "better numbers."
It would be most optimal to exactly match the monitor refresh rate or half the refresh rate (dividing by the integer 2) as long as the refresh rate meets the 30fps or greater threshold. To do this the action is computed and positions updated in a separate thread from the rendering thread. The renderer plugs along tirelessly at a fixed optimal frame rate only using as much horsepower as it requires. The extra is used to support everything else like game play elements, AI, story line, physics and such. The concept is called separating interface from implementation and sounds a lot like what Carmack and id may be up to for Doom3. He has been saying a lot lately about new gaming graphics paradigms and don't get freaked out by low frame rates, because it isn't what it seems.
------------------
Andrew Welch / el Presidente / Ambrosia Software, Inc.
Never argue with an idiot. They drag you down to their level then beat you with experience.
