From:
Czar
Subject: MailBag and FPS Debate
I understand that this little debate can't go on forever
in the mailbag, but e-mail replies tend to cut people out of the loop. There has been too
much information repressed because it is only discussed in certain scientific circles.
Here is my response to the comments on biology, there is a chemical reaction in the retina
that can be proven by modern biology. Biology is not my strong point so I cannot explain
what little is understood about it. Certain light frequencies cause certain chemical
reactions in the cone and rod cells of the retina. This chemical reaction is then
converted into an impulse in the nervous system and decoded by the visual cortex. I do not
debate the raw speed of the human brain, I do debate the speed of the chemical reaction in
the retina. I call to my case the Nintendo Virtual Boy (TM). Sure, it produced a
monochrome, red image, but it was 3D. How did it manage this? Maybe it displayed two
simultaneous images to act on our binocular vision. Perhaps it was ultra fast shutters. Or
maybe the truth is a little stranger. The Virtual Boy worked very much like a CRT, but
instead of an electron beam (compare this with the monochrome TVs of the 50s) it used a
red laser, and instead of exciting phosphorus pixels on glass, the laser excites our
retinal cells directly. Essentially there was only one point at a time, but yet you see a
whole image. That is because it draws each point so fast that the points of light
remaining your retina. As I recall, this effect is called linger, please check this out,
the chemical reaction has been timed. Technology example 2, the TV. What is the vertical
refresh rate of a TV? Pretty damned slow huh? That refresh rate is how long it takes for
that TV to draw X number of lines. The actual numbers escape me now, but the speed isn't
that impressive. Now, before you go off at me and tell me that your eyes have mutated
because of a combination of radiation emitted from your monitor and the high refresh rate,
why the hell are you still watching South Park then? Our image animation methods have
always been based on using the limits of the eye.
But you do make a valid point with you FPS test, but this
has been looked at too. First is the sync problem. That chemical reaction is always going
on when light is present, but that reaction is not uniform. That is where linger comes in
handy. It helps to make an image uniform. Imagine a random 10% of the pixels on your
monitor flashing instantly, then as those die another random 10% going off, and so on.
That would be the chaos you'd see if it weren't for linger. There is another problem with
motion, The brain uses a form of video compression. The brain only tends to pay attention
to what has changed in an image. Here is an experiment to try on someone: Take 10-20
frames of a still scene. Then pick one frame and change a detail. Move some object in that
one frame, or add something. Then compile a movie with those frames, but add a blank frame
between each picture in the frame. It is then very difficult to tell exactly what has
changed in that one frame. The observer can tell you something is wrong with one of the
frames, but can't tell you what exactly (I can try and track the experiment down). Now
lets apply this to a PC game. I have just rendered a frame. That frame has remained up
there through a couple refreshes while the engine crunches some numbers and samples some
input. Now I can begin rendering my next frame. First, I need to clear my video buffer
(this happens even in Z-buffering, the z-buffer and the video buffer are two different
things. In voodoo the vid buffer is the frame buffer). Now I begin crunching numbers to
come up with my new geometry, then I apply textures. Next a perspective correct the entire
scene. Now I apply shading from static and dynamic lighting. Finally, after a refresh or
two, I can begin writing my new image to the video buffer. There was a blank screen for a
couple fractions of a second, but it was almost unable to be seen. But you did see it, you
saw it just long enough to feel funny about what you just saw. But then what happens if we
fail to clear the video buffer? Well, we get two perfect images that are slightly
different, but there is a lack of transition. The visual cortex picks up the changes and
has to do a little extra work figuring out that there was motion. Now your brain has done
extra work it normally doesn't. You should see right through the illusion, but you don't.
You still get that feeling that something is missing from the parade of images, but you
shrug it off because it seems intangible. Now, in our infinite wisdom and coaching by mass
media we can say what the problem is. "Oh! The Frames per second are too low! Well
then, I need to run out and get me that brand new $300 doohickey." Ahh, another takes
the bait and capitalism triumphs once again. Magicians would be out of business if people
could see at 120 FPS dude.
Look, I'm not saying that a high FPS is an utter waste, I
am however, saying that concentrating on making a game run at 100+ FPS by cutting this or
that out, or by telling everyone to go spend 500-2000 bucks for a new processor, video
rig, etc is just plain wrong. Doom was forced to a maximum of 35 FPS, but it fooled people
well enough. Or lets look at the RIVA chipset that could manage very high FPS counts but
looked like crap. Would you drive a dragster just because it can go fast even though it
can't turn sharply, has to use a parachute to slow don, and burns fuel at an incredible
rate? Look, speed != quality. Instead make an engine that can make image transitions
between frames better. If I wanted pure FPS, I'd hack the 35 Hz clock out of doom that
limits its framerate and play it on a PII 450.
One more tangent that I think that needs addressing,
sprites, models, etc. How does an alias model work? It is a set of frames that are to be
displayed at a certain rate. But play frame one, then frame two, then one again. Then look
at a few frames of walking captured on a high speed camera. Quite a difference eh? Now
look at the idle frames for the monsters in Doom. There are only two frames for them!
There is another problem with this alias system, frames often get skipped, or displayed
too long causing either jerky motion, or ice skating. The pitfalls of the alias system.
Now look at Half Life. They are using a skeletal animation system. No ladies and
gentlemen, this does not only mean that there are less animation frames needed. It also
means that any theoretic position between frames can be calculated to smooth out motion.
If I remember right Sin uses this too, and I must say that Sin has some of the best
animation I have seen yet.
I hope the point I have made here is that there is no one
thing that can be blamed for what you call poor animation (watch a few 30's movies, then
play Q2). Stop pointing the finger at FPS. Stop throwing money away by doing exactly what
your favorite mag is telling you to do. So long as you people are willing to run to the
latest card because it is X FPS better than that, engineers can demand higher salaries,
and prices of 3D hardware will continue to rise. But I guess I can't expect much. Look at
what people are willing to do because it was on TV, or in that movie, or some celebrity
does it. DON"T GET CAUGHT IN THE HYPE!! |