jorimt wrote: ↑01 Sep 2023, 14:10
xenphor wrote: ↑01 Sep 2023, 13:39
Hm I actually notice a difference in latency when the frame rate is capped with Reflex vs RTSS, even when it's the same limit. Reflex feels a bit better, especially around 40-50 range. It could be placebo I guess. The frame pacing is definitely better with RTSS.
Not necessarily a placebo; the Reflex limiter is engine level, and the RTSS limiter is external. In my past testing, engine-level limiters are typically 1/2 to 1 frame lower latency than external limiters (RTSS, Nvidia Max Frame Rate, etc).
That said, yes, RTSS can tend to have steadier frame pacing (even if sometimes only by very little), because unlike most in-game limiters, it limits framerate by setting a fixed frametime target.
Frame rate caps closer to the engine tends to be lower lag but can be stutterier (being averaging-based cappers)
Frame rate caps further from the engine tends to be better for destuttering a stuttery in-game frame rate cap.
Combining Two Frame Rate Caps For Their Benefits
In extreme cases where you need to balance these two benefits better -- there's a technique where you use two frame rate caps concurrently (I now call it the "stutter guard" cap, and a "latency guard" cap).
The latency guard cap must at least be microscopically lower than the stutter guard cap.
viewtopic.php?f=2&t=12261&p=95941
It works in certain situations like
- DLSS 3 frame interpolation, or
- Stuttery emulators (internal cap), with RTSS to smooth it.
I got some compliments with the tip, including in my email where he was trying to fix RetroArch stutters (emulator = "defacto 60fps in-app cap" generally), and RTSS helped smooth those stutters. Poor framepacing from imperfect in-app averaging-based capping algorithms, from a specific emulator module. But it also applies to other stuff such as games.
Any situation where you've got a stuttery in-game cap, but you want to keep the in-game cap because it reduces latency. In many situations, the external cap has the side effect of taming the in-app cap, without re-adding latency.
In-game caps can be jittery (averagers). Mentally, if you think better in graphs, enabling an RTSS cap along the centerline of the jittery in-app cap,
is like peak-shaving the RTSS frametime graph to fill in the frametime valleys, to produce a more glassfloor frametime.
Just make sure the stutter guard cap (microsecond accurate cappers like RTSS) is at least microscopically higher than an averaging-based cap, ala latency guard cap (averaging-based cappers like in-game/in-app). Experiment with that margin. The averaging-based capping algorithms tolerate it better that way.
It actually works great if done properly, with certain situations!