Frametime with in game cap vs RTS cap is night and day?

Ask about motion blur reduction in gaming monitors. Includes ULMB (Ultra Low Motion Blur), NVIDIA LightBoost, ASUS ELMB, BenQ/Zowie DyAc, Turbo240, ToastyX Strobelight, etc.
Post Reply
GFresha
Posts: 94
Joined: 01 Mar 2019, 17:28

Frametime with in game cap vs RTS cap is night and day?

Post by GFresha » 14 Jul 2019, 04:33

Testing Fortnite here with ULMB on at 120 hz.

Vsync off in both in game and nvidia

I tested Fortnite with RTS set to 0 for both scanline and framerate cap and instead I capped Fortnite to 120 FPS using in game counter and here are my results:

Run 1: https://imgur.com/Z78tBQK

Run 2: https://imgur.com/o8VLssf

Then I set Fortnite FPS to unlimited and set RTS to 120 and set scanline to 0 and only did for 1 run:

https://imgur.com/5FacWGt

Finally, I kept Fortnite at unlimited, set RTS to 0 for framerate and set scanline to -50 and only did 1 run:

https://imgur.com/vj7gqZA

Can anyone please explain the difference for me? Why the hell is my frametime all over the place when I am using an in game lock?! Not only is it all over the place, it never went under 9.6 MS and my spikes were 35 MS+

RTS cap on the other hand, not only was my frametime flat much more compared to runs 1 and 2 using the in game limiter, BUT my spikes were not more than 25 MS at max but mostly 20 MS and below and my frametime was usually at 8.3 MS

RTS scanline is more or less the same compared to the RTS framerate lock (I would argue the framerate lock is possibly even slightly more smooth than the scanline?) but one of them eliminates the tear and the other doesn't so its okay, but again both graphs are night and day compared to in game cap. So what gives? Why does my frametime is not only flat but also averages less and the spikes are also much less compared to an in game cap?

I ran the test in playground from the same location so I can keep things consistent and did no hard reboots to the PC.

User avatar
RealNC
Site Admin
Posts: 3743
Joined: 24 Dec 2013, 18:32
Contact:

Re: Frametime with in game cap vs RTS cap is night and day?

Post by RealNC » 14 Jul 2019, 04:48

Most in-game limiters are not as accurate as RTSS. That's all there is to it, really. RTSS blocks the game's rendering loop at the frame presentation stage, after the frame has already been rendered. That means it has nearly perfect control over frame presentation timing. In-game limiters work differently. They will block the rendering loop prior to starting the next frame. So frame pacing will vary more, depending on how long the next frame takes to render. This results in a reduction of input lag, but since the frame rendering time cannot be predicted, the frame limiter just tries to limit to an average FPS, not to individual frame times. RTSS on the other hands is able to limit to individual frame times, not to an average FPS.

The Unreal Engine is actually capable of producing a more solid frame times. Not sure why Fortnite isn't doing that. In most Unreal Engine games, if you enable the "smooth framerate" limiter (usually called "bSmoothFramerate" in the ini files), frame times are usually quite good. But I didn't keep in touch with modern Unreal Engine versions. With older UE games, frame pacing was usually very solid.
SteamGitHubStack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

GFresha
Posts: 94
Joined: 01 Mar 2019, 17:28

Re: Frametime with in game cap vs RTS cap is night and day?

Post by GFresha » 14 Jul 2019, 13:35

If I am using scanline sync with ULMB should I only worry about the scanline sync or should I change other settings in profiles folder for .cfg file for the game?

For example what the heck do all those mean (pulled from another post):

Limit=0
LimitDenominator=1
LimitTime=0
SyncDisplay=0
SyncFlush=1
SyncHotkeys=1
SyncScanline0=-180
SyncScanline1=0
SyncTimeout=1
SyncPeriods=0

And why does my profile CFG only have?

Limit=0
LimitDenominator=1
LimitTime=0
SyncScanline0=-50
SyncScanline1=0
SyncPeriods=0

Post Reply