How come if I am running a game at 300 to 400fps, and then cap my fps at 120 to keep it steady, my fps will now dip between 118 to 120? Shouldnt it never dip below 120 since it didnt before I capped it?

3.44K views

How come if I am running a game at 300 to 400fps, and then cap my fps at 120 to keep it steady, my fps will now dip between 118 to 120? Shouldnt it never dip below 120 since it didnt before I capped it?

In: Technology

3 Answers

Anonymous 0 Comments

What you really care about here is frame times. We’re going to change the base FPS to be 50 instead of 60 for easier math here

When you were running uncapped the instructions to the GPU were “Draw the next frame as fast as you can, and give it to me immediately!” so since it normally took it 2.5 ms per frame it was able to give you 400 FPS, but when you dropped down to 300 FPS that means that some frames were taking 3.3 ms

When you changed your frame cap to 100 FPS(yay easy math!) you changed the instructions to the GPU. It was now “Have a frame ready for me every 10 ms, and don’t draw more frames than necessary”. Since the GPU is able to determine that it can normally draw a frame in 2.5 ms it’ll wait until 7.5 ms after the earlier frame to start drawing so it can give you the best frame, but if it takes 3.3 ms then it’ll have that frame ready 10.8 ms after the last one and will miss its delivery window and resend the last frame.

If you were to plot frame times you would likely see most of them being very tightly clustered around 2.5 ms with the occasional one getting up past 3 ms which will cause the GPU to not have it ready in time so you see a momentary decrease in FPS.

You are viewing 1 out of 3 answers, click here to view all answers.