events, frame rates, and the pipeline
Okay, I don't play video games, so I have a crap video card -- actually I don't have a video card at all, I use the onboard via chrome from my mobo. But I really want to write a video game (a 3D FPS version of breakout) as a winter project.
I've always been slightly puzzled by gamers obsession with frame rates. Like film is I think <30 fps, so why bother with more? Yes that's a genuine question, cause I presume there is a genuine reason, I'm not calling anyone a fool.
This afternoon I was wondering if it relates to events, and "the pipeline". Lemme describe my programming issue to explain why I'm thinking that.
For a 3D FPS breakout, you are the paddle, so the paddle moves in x and y but not z, which makes the mouse perfect. But today I was experimenting with openGL in both SDL and glut and I noticed something: the data I got from mouse events was instantaneous -- I used it to modify global variables and printf them, those changes appear instantaneously -- but the response in the graphics display noticeably lags, I would say at least 1/2 second. This does not make sense to me, since I am getting 25-45 fps*. I presumed that there is no temporal offset, but that is not necessarily so -- that is, you could get 100 fps, but at a 1 second delay. It is a "pipeline", so I suppose there must be some delay from the time data is fed into one end (when the "render frame/scene" function is called) to when the graphics lib, etc, have done their job and the frame actually appears on the scene, because it is obvious from the console debugging data (printf) that the frame currently executing is at least 10-15 frames ahead of what appears in the application window.
Is that right? Is that normal? Is that a consequence of a crappy video card and software acceleration? Or am I out to lunch here? Suddenly, it might make sense to want 60 fps, if the delay is a number of frames, and especially if that number was also reduced. If the offset were 5 frames at 60 fps, that's 1/12th of a second, more or less instant. But with what I am looking at right now the action is gonna be really lame.
*presumably this will start to diminish when the graphics gets heavier, but by then I will probably be motivated to buy a card