Forum Discussion

AlleyViper_PT's avatar
AlleyViper_PT
New Adventurer
2 years ago

Since 1.4 new menu fps cap, UE4's own FrameRateLimit= is ignored (for driving)

Dear developers,

Since 1.4 was released, it's not possible to use UE4's own frame rate limiter to apply it while driving. Albeit unsupported due to no menu option to directly set this var, this was possible to use, as with a vast majority of UE4 games, by setting FrameRateLimit= to a target (0 is unlimited by default) on the User's folder GameUserSettings.ini.

Before 1.4, setting a value there would both cap fps on the Menu and while driving during stages. But since the 1.4 release, regardless of the status of the new menu fps limiter UI option (which sets bLimitFrontendFPS=True/False on the same ini file), a manually set FrameRateLimit= will always be ignored and frame rate still kept unlimited while driving.

So, if possible, my request would be to revise the changes done to have an optional menu limiter in a way that won't interfere with UE's own FrameRateLimit user option while driving, and preferably, also expose this same general fps limiter for driving in the Basic Video options, so users can manually set it. There are other UE4 titles like ACC that offer a separate setting to limit menu fps, but still adhere to FrameRateLimit= (and let users configure it) while racing.

The reason for this request, it that users under Gsync/Freesync/VRR optimally have to keep vsync on while setting a frame limiter a bit under max monitor Hz for to keep latency the lowest possible, so vsync won't act as the main fps cap when hitting fps=max, buffering extra frames. There are alternative external frame limiters such as RTSS/NP CP/AMD Chill, but these are less optimal for users on slower VRR panels, such as 60/75Hz, as these external solutions will still add an extra frame of latency v.s. an in-engine one, which is more noticeable at such high frame time intervals. UE4's own frame limiter is stable enough for this usage, and won't incur in the same latency penalty, so it's unfortunate to lose the possibility to use it in the current 1.4 state.

Thanks for your consideration

2 Replies

  • Well, things went even weirder on 1.5, and imho not really great solution atm. Now vsync on is also forcing FrameRateLimit= current monitor max Hz on apply and game startup. So if you set it to a lower number to be inside VRR range, as 3fps bellow max Hz with vsync on, it'll be overwritten at game start back to = max Hz (p.e, back to auto =75 from manual =72 on a 75Hz VRR monitor). So, VRR users will still have to use an external limiter to kick at a lower frame rate while ingame vsync is enabled.

    The current solution by automatically setting FrameRateLimit= at same Hz as vsync can reduce lag a little, but can cause some occasional stutter on non VRR monitors (because it'll limit vsync buffer, so a frame can end up repeated more often during frametime spikes), while it remains un-optimal for VRR. IMHO, it should be just left untouched (at 0 by default) by current menu options, for traditional vsync to work as expected, and to leave the user an option to use UE's frame limiter according to needs, even if not exposed in the UI.

    Vsync on ingame is also forcefully disabling the separate menu 60fps limiter (if such option is enabled), so the menu fps limiting will be tied to max Hz instead (still bad on a very high refresh monitor). It only seems active (60fps cap enforced) under the condition that vsync is disabled ingame.

    Thanks for your consideration