t.MaxFPS 0 locks framerate to 120fps for some inexplicable reason

Despite the CVar description stating otherwise, if you type t.MaxFPS into the console with ‘0’ as a value, then FPS is clamped to 120.

I can call t.MaxFPS 500, and hit framerates of about 200-250 in our game, so no idea where the 120 limit is coming from.

Hey I was able to reproduce this. I have logged it into Jira as a bug report and that number is JIRA UE-52091. Our Developers will investigate it further so please refer to the link for updates.

Thanks!

Ran into this and discovered that the 120 is coming from the default SmoothedFrameRateRange in BaseEngine.ini. The project’s smooth frame rate option will be in effect if enabled and t.MaxFPS is 0. When t.MaxFPS is non zero, that value is used instead of the smoothing range. The logic for this is in UEngine::GetMaxTickRate().

1 Like

Thanks for sharing your findings. Found that adjusting this in the project’s DefaultEngine.ini works like a charm. This is specifically what I’m doing (With a 1000FPS cap as an example):

[/Script/Engine.Engine]
bSmoothFrameRate=false
SmoothedFrameRateRange=(LowerBound=(Type="ERangeBoundTypes::Inclusive",Value=22),UpperBound=(Type="ERangeBoundTypes::Exclusive",Value=1000))

[/Script/UnrealEd.EditorEngine]
bSmoothFrameRate=false
SmoothedFrameRateRange=(LowerBound=(Type="ERangeBoundTypes::Inclusive",Value=5),UpperBound=(Type="ERangeBoundTypes::Inclusive",Value=1000))