The Quest For Frames Per Second In Games
VL writes "Ever wondered why it is exactly everyone keeps striving for more frames per second from games? Is it simply for bragging rights, or is there more to it than that? After all, we watch TV at 30fps, and that's plenty." This editorial at ViperLair.com discusses motion blur, the frame-rate difference between movies and videogames, and why "...the human eye is a marvelous, complex and very clever thing indeed, but... needs a little help now and then."
With a higher framerate, a game just feels and plays better, it's as simple as that. 30 fps is just *not enough* to have good action and feel on most pc first person shooters.
That article reminds me of the TV ads with scientists explaining how our patented hydro-oxytane reaches deep into your pores and assasinates uglificating bacteria.
Author seems to understand about as much about the primate visual system as... well... anyone else that's never studied it. The visual cortex doesn't "add blur."
His general point is probably correct, but is reasoning is fucked.
There are no trails. There are no trees out here.
Movie projectors cheat by displaying every frame twice, which doubles the frame rate from 24 fps to 48 fps. Cinematographers also avoid certain shots, like rapidly panning from left to right, which look terrible on a movie screen.
Mea navis aericumbens anguillis abundat
1: 30 frames per second is simply not enough. It's fine for movies and TV, but that is only because TV shows and movies are designed around the limits of the medium. Ever notice how TV shows and movies don't have a lot of quick, jerky movements? Those movements lead to motion sickness on TV and in movies, and they are the exact movements in 3D games. 30fps makes me sick, I can tolerate 60fps.
2: Remember, FPS is the *average* framerate. It may dip well below that mark. My goal is not to have the most FPS but to have a reasonably high resolution with FSAA and AF on, all the detail settings to full, and to never have the game dip below my monitor's refresh rate (75Hz).
If I can get a *SOLID* 30fps, I'd prefer that to a framerate that peaks at 60 and swoops down to 15 in places. I also can't stand it when vsync is turned off in games - tearing is horrible. A nice compromise is to keep VSync on when the framerate is high, turn it off if it drops below, say, 30fps.
:(
I'm still waiting for the day when machines are good enough and code works well enough for games can be considered "real-time" (meaning having fixed steps at, say, 60Hz - and the game is NOT ALLOWED to take longer than that 1/60th sec to render a frame).
- Disgruntled Planetside player who wishes that game always ran at 60Hz.
This is idiotically wrong. This entire paragraph is predicated on the false assumption that our eye somehow has a "framerate" itself. (Either that, or the false assumption that our eye is basically a CCD with infinite discrimination, also wrong.) It does not. Our eye is fully analog. (Go figure.) You get motion blur because the nerves and the chemical receptors can only react so quickly, and because nerves fire as light accumlates on the
receptors. Since the receptors are moving quickly relative to the transmitting object, light rays from a given point are smeared across several cones/rods before the full processing of the image can take place. (Now, I'm simplifying because this isn't the place for a
textbook on vision, but at least I know I'm simplifying.) In fact, there's nothing the visual cortex could do to remove the motion blur coming from our eyes, because the motion blur causes actual information loss! (It can (and does) do some reconstruction, but you can't fill in details that don't exist.)
(Note in the portion I italized how he jumps from the "vision cortex" to "the eye"; the two are NOT the same and can't be lumped together like that in this context.)
This simple error renders the entire second page actively wrong.
Here's another, referring to interlacing:
Uh, wrong wrong wrong. Interlacing was a cheap hack to save bandwidth. "Progressive scan" is universally considered superior to interlacing (in terms of quality alone), and many (such as myself) consider keeping interlaced video modes in HDTV to be a serious
long-term mistake. It has nothing to do with convincing you you are seeing motion, in fact it has a strongly deleterious effect because you can frequently see the "combing"; that's why TVs have "anti-comb" filters. You don't see it as "motion", you see it as wierd "tearing".
ALSO wrong. The computer monitor and video card will pump out X frames per second, period. It has to. If the CRT is going at 60 fps and the video card (as in the 3D hardware) is only pumping at 30 fps, every frame will be shown for two CRT cycles. What else is the video card (as in the rasterizer) going to display? You'd notice if the screen were blank every other cycle!
Wrong again. CRTs at that frequency are "flicker free" because they pass the frequency the parts of our eyes more sensitive to motion (actually the peripheral vision, not the "primary" vision we're us
FPS is important to FPS gamers because of one simple fact... relative motion.
If you have something travelling at a velocity of 600 pixels/s on your screen (not uncommon for objects in FPS games) it is much easier to track it at 100 FPS (relative motion of 6 pixels per frame) than 30 FPS.
Nowadays, movies are INDEED filmed with 24 frames per second and therefore are also projected with 24 frames per second. But, the frames are shown multiple times (i think two is standard, but i've heared about three, too).
.....
....
;)
And no, the film doesn't have to have the frames on it multiple times. The transport mechanism in a projector works like this: light off, move the film forward to the next frame, stop, light on, light off, move forward, stop, light on,
Now, instead of having ONE phase of light during a frame, modern projectors have TWO or THREE of them:
light off, move forward, stop, light on, light off, light on, light off, move forward
at least thats what i learned in school
Free as in mason.
...the are trying to compensate for something.
This paid my last vacation, it mi
If you are to look on a CRT screen for a long time, you certainly want a high refresh rate. How much is required to be enough probably depends on who you are, but 75Hz is not enough for me. But I can hardly tell the difference between 85Hz and 100Hz. I think 100Hz is enough for most people.
When you have chosen a refresh rate, the optimal FPS is exactly the same number. Generating more FPS is waste because it is just gives worse quality. You would either be skiping frames, which harms animations. Or you would be showing parts of different frames at the same time, which gives visible horisontal lines, where the two parts doesn't match. And yes, you will spot those broken images even when only shown for 1/100th of a second.
But generating 100 FPS and showing 100 FPS is not enough, you have to ensure each frame is showed exactly once. It requires a litle help from the graphics hardware, but nothing that is hard to implement. Having a litle extra processing power is important, you must be able to produce ever frame fast enough. You don't want to miss a deadline because occationally one frame takes just a litle more CPU time to render.
Do you care about the security of your wireless mouse?
I don't even play video games and I know the reason you need high FPS has nothing to do with the framerate at which you meld seperate frames into motion. It's all about response time. When the game can render at 500 fps it means you have to wait 1/76+1/500+'AI time' seconds for a response to something you do on the controler. This assumes your refresh rate is 76 hz. The 1/76 is fixed by your refresh rate because unless you can do the entire redraw in the vertical retrace period and have dual ported RAM on the video card you need to double buffer. Some rendering engines, not designed for games, are actually triple buffered for better throughput. Video games are all about response time, and here you you will sacrifice 1000 fps for that 500 fps to avoid adding an extra 1/76 to that timing sum. There of course is a certain point at which that number is high enough that you don't need to double buffer, in reality those nv FX-2000's and ATI 98xx's are way to slow to approach that kind of framerate with the visual quality people want.
TV has an effective framerate of 60fps*, movies are 24 and cartoons are usually 12 fps. Those can all show motion just fine as long as you don't move things too fast for the medium. The average PC monitor has a refresh rate under 90hz, not really much better than the 60hz of television, so you still can't let an object move as quickly from one side of the screen to the other as we can perceive it in real life. As someone mentioned setting the refresh rate ate 72 or 80 or whatever doesn't make your eyes hurt has nothing to do with our motion perception. In normal office use you want to set this as low as possible while still avoiding flicker so that you don't waste cycles on displaying that one character you just typed into emacs a few ms faster. If you are playing a game you want to set it as high as your monitor will take it (up to 120hz at decent resolution on some monitors), while still keeping this number below the number of frames the game can render per second so that it doesn't have to show the some frames twice and mess up the motion.
Film in a projector does not flicker like a monitor running at 24 hz. The reason a monitor flickers is because the phosphor brightess decays. A film screen is fully lit while the film is in front of the light. It flickers simply because it the time it takes to change frames is not zero, doubling the frames to 48 frames per second would increase the time the screen was dark between frames.
*yes TV has 30 'frames' but this is just how many times you redraw the phosphors, as far as motion is concerned you have 60 seperate images representing 60 different snapshots in time (assuming this is really shot as TV and not an up-converted film). Your eyes don't care that the samples are offset, it is not like you ever see one moment with the same receptors as the next, they need a regeneration time before they can sample again. And they are not synchronized at an specific FPS so the flicker explanation was all wacky. The reason you see those nasty line artifacts when watching TV on your computer without a decent TV application like 'tvtime' is because simple TV apps like XawTV are showing two fields sampled at different times at the same time. Often for a variable 2-3 frames if your refresh rate is between 61 and 89 hz. If you show those in the standard 60 hz interlaced with a TV compatible resolution you won't see those artifacts outside a freeze frame, though you will get more flicker than a regular TV because the phosphors in monitors decay faster to avoid ghosting at the higher frequency and contrast they deal with.
Again, CRT flicker has nothing to do with frames rendered per second(fps), and everything to do with how long lasting the phosphors are with respect to the screen refresh rate. Film projector's flicker is a completely different beast. Heck LCD flicker is completely unrelated to refresh rate and has everything to do with your backlight's balast(flourescent) or temperature(halogen). FPS above about 50-60 fps is all about res
The argument that 24 FPS should be enough for every medium is false, and here's why:
The reason film projection can smoothly present video is because the blur on film caused by movement of the target on a slow-shutter camera. This blur actually helps because when displayed with 24 other frames in one second (all having the blur effect themselves) it looks rather fluid. Even digital movie cameras accomplish their video quality using the same trick.
Video cards however, do not have the luxury of using this trick for video games. To show the movement of an avatar, for example; every single measurable instant of movement must be rendered for each measurable instant. Those instants are misleadingly called "frames". Achieving higher framerates is actually critical for good gameplay because there are more instants in a given amount of time. That's why low fps seems to feel sluggish on some games because 15/20/25/etc. instants are certainly not enough to show fluid movement. I myself feel right at home right around 75 fps on any first person shooter or what not. This is because the human brain registers information from the brain at about 75 Htz (at least that's what I was taught).
So, next time you hear "24 fps is all you should need!", you can tell them why it's not.
Of all the Universal Constants, here's one I know: Nice guys finish last
I tried to RTFA, but I fainted mid-way during the first paragraph.
(They're all from the one paragraph introduction...)
psxndc
The emacs religion: to be saved, control excess.