News Guides Resources Streams Forum Statistics
Info - Frame limiter explained

By Lighnat0rLighnat0r Last updated

WHY DISABLING THE FRAME LIMITER IN GTA GAMES IS A BAD THING

Doc by oasiz, contact info at the bottom.

GTA is coded like shit, kinda like stuff on old systems.
Instead of saying "Apply friction 30 times in a second" and monitoring the time
it actually does things like "Apply friction every time code loops"
Since GTA runs at 30fps we can skip the time check and things run faster, right?
Problem is that framerate is very variable in games nowadays and without the limiter
it can run (or apply friction) many faster than they ever imagined.

Let's observe this in a way that is familiar to most: PAL vs. NTSC speeds in games
The reason why PAL games ran slower than NTSC is as the code loop
gets done 50 times a second instead of 60. Reason why it was coded like this
is because every system was identical and it cost less CPU to ignore timing.

Values get adjusted until they fit, say, speed gets increased from 0 by
2 increments every "frame".
What will the speed value be after one second?
Yup, Speed would be 60 if the game ran at 60fps (Typical NTSC rate).
But the speed would only be actually 50 with PAL!

Usually this isn't a problem, developers simply slowed down the game so that
the ten extra frames from NTSC would "leak" in to the next second.
This means that everything after 50fps would be put in to the next second.

But hey! Mario 3 runs at the same speed as the NTSC !
Not exactly.. if you compare the physics, they actually just adjusted values by "eye" to get it
as fast as the NTSC version. Physics for acceleration and jumping are different!
Say.. instead of increasing speed by 2units every frame they alternated 2u and 3u to keep it "close".
They simply changed the game logic to be close to NTSC but you can not get really accurate values without some more complex math that was would slow down games too much back in the day.

So how does this all relate to GTA Physics?
In GTA they actually tied a lot of the game logic to time but for some of the things they "hardcoded"
values that are tied to the game loops.
This means that they adjusted values like friction under 30fps and they just settled with that.
What they didn't try out is to actually change the FPS to say... 80fps and see how things change.
Back when GTA3 was made, PS2 was the target platform. Turning the limiter off was a novelty feature
when it came to PC gaming, it worked well with the 800MHz systems of the time, instead of 30fps
you got something like 45-60fps. Nowadays it's a bigger problem. Instead of rates around 60fps you can
get something closer to 130-200fps without the computer needing to do much lifting.
This means that most of the stuff run like they normally would under 30fps but some things can
potentially run 5-7 times faster. Imagine stuff like friction when reversing or loads of oversights
when one thing completes 7 times faster than the other. It is something they did not test for.

In short,
Turning off the frame limiter in GTA is BAD!
Side effects may include:
- Too much friction
Reversing broken, impossible dodo takeoff, etc..
- Softlocks
Game code freezing and not progressing, usually happens after you die or take a mission
+-Fucked up slopes/stairs
You can literally fly away 100-200 meters away, and I mean launch from slopes/ledges
when running. Sometimes even dropping from a sidewalk to the road can take 50% of your health.
- Boats are fucked up
This goes back to too much friction.
- Handbrake is fucked up
Friction
- Missions take forever to progress
Related to softlocks
- Audio is glitched
Audio / Ped lines / etc.. get called after a specific amount of frames, too high fps
and the sounds will play over each other and non-stop almost.
Imagine speeding up NPC horn-honking frequency and such by say.. 5 times.
- Crazy flicker
Things that go on/off say.. 2 times in a second (like wanted stars) will flicker like mad
as they go on/off many times faster than usual.
+ Pushing cars
You can literally flip cars over by running in to them as they don't get proper friction.
For some reason they will be really light with a high framerate.
- Broken AI / scripts
Stuff like AI driven sections for small cut scenes can be totally off due to changed physics
and coded "drive this path" scripts can be totally borken due to wrong frame/time references.
+ Helicopter takeoff
A big plus is that helicopter takeoffs are nearly instant as the acceleration is tied to fps.

These are just some of the things that get changed, there are more side effects.
Therefore the GTA community has decided to ditch runs that run without the limiter.
GTA3 / VC run at 30fps and SA runs at 25fps.

"I don't understand anything you said, and you are a shithead!"
Did you know that you can say it straight to my face? Catch 'oasiz' on IRCnet/Quakenet/Freenode.
I'll gladly help you if you have any questions about this route.
And I stream from time to time at http://twitch.tv/oasiz
on Speed demos archive I am known as 'oasiz' and yeah, I was the one who did the GTA3 run at AGDQ2013