Sorry, we don't support your browser.  Install a modern browser

The In-Game framerate cap lowers overall performance#602

I have known about this issue since launch, but never felt comfortable sharing it on nolt until I got further confirmation that this was a wider issue. I have tested this on 3 of my own setups, windows and linux, and have had success in improving performance when suggesting this fix to other players on around 7 different occasions.

Currently the in-game framerate cap does not correctly limit framerate. My current setup achieves ~650 fps at 1080p. Even under high load situations, i will never dip below the 500 fps mark. If I were to cap my framerate in-game to 240fps (no vsync) something weird happens when I intentionally try and create lag with eta ice and fors smoke. My game will start dipping to the 100 fps mark, even though my computer is more than capable of destroying a consistent 240 fps when i have my in-game cap set to 999fps. However, if I use an external program like Goverlay, nvidia control panel, or other software to cap framerate this issue does not happen. Only with these external tools, with the in-game cap set to 999fps, am I able to achieve a stable frametime graph in those higher load situations.

Unfortunately, I cant begin to suggest what the underlying issue might be. What I am confident in is that issue is real. The majority of users, if not all, are experiencing this. This might be an easy win for performance optimization if you find the cause of this, becuase most people probably wont raise the in-game framerate cap above the default 60, or to their monitor’s refresh rate, without thinking about it. This will help efforts to improve performance for console when there will be no options for an external cap.

If anyone else is able to exernally validate my findings, that would be much appreciated.

22 days ago
7

ive somewhat noticed this on set ups where the frame rate is at like 500 but the monitor only goes to 120 but wasnt sure if this was the problem

22 days ago
1
Q

+1 on this i can agree capping frame rate unironically makes the game stutter more

22 days ago
1
K

Another weird quirk of the fps in this game is mouse movement.

I don’t think it really has that much impact, but if you idle at 240fps on a 240hz monitor and jiggle the mouse back and forth in game, you will lose about 10-20 frames, which leads me to believe they’re also having some performance issues with peripherals as well. I know they tried to do some changes to auxiliary devices in the past, but it seems like this issue could be persisting still.

22 days ago
1

Does this post really have 50 upvotes?

22 days ago

@IntelligentNitrogen904 I have not botted this post. I posted links in the character discords.

22 days ago
2

@FlatCentimeter454 I didn’t think it was botted, I just wondered if it was a glitch.

22 days ago

I have noticed this too have started capping mine above my monitors refresh rate and have been getting better performance and less noticable drops

22 days ago
1

Holy Reddit

20 days ago
2

I did some rough testing with a camera, and the game seems to have roughly 3 frames of input delay. 3 frames is 50ms, though I don’t have the equipment to determine if it’s less or more than this (I’d guess somewhere between 50-58ms, if I’m being conservative and assuming that my testing environment isn’t making the numbers seem worse).

On that note, just wanna put this out there for people who aren’t tech-savvy enough to understand what the argument, so that we understand where exactly the hostility came from:

Zool’s original claim was that adding NVidia Reflex would save 40-60ms, and then reaffirmed that statement with:

“Also nvidia refelx will always reduce the system latency at least 40 ms according to all tests that i could find. because these 4+ frames of delay do exist. You might not notice them because they are just part of your PCs rendering pipeline, but they exist. your overall latency from input to display on screen most likely is in the 100ms range depending on what controller and display you use.

(I wanna establish that one of these numbers was referred to as “comically overblown” by BobbyD0g earlier. More on that later)

This is contradicted by the first video Zool shared, which showed a case where Reflex was only saving 20-25ms for Doom: The Dark Ages, a game with a similar amount of input latency to RoA2.

Zool also said:

“Also i want to point out that i was not the one saying things like “the latency numbers you’re quoting are comically overblown” or “I suggest you’re dealing in some mysticism” trying to discredit the other person. i just presented facts in my first response. naturally if the other party tries to discredit you in such shady way, you fight back and the tone gets rougher.”

When Zool’s millisecond estimate is literally double the most analgous example to RoA2, “comically overblown” isn’t a “shady” way to “discredit” him. It’s an pretty apt description of how much he’s inflating things. This is something he makes a habit of when engaging with his hobby of smearing Aether Studios (he has said that Reflex would save 50-60ms in his post on the last Noltboard, definitely going above the amount of system latency possible here).

And when Zool can’t actually tell that RoA2 only has 3-ish frames of input delay (even suggesting that a comprehensive ~100ms total would be considered a typical setup), while being the type to chase marinal performance with a $1600 GPU, I don’t really blame Bobbyd0g for putting Zool into the box of people who feel like they are above the placebo effect. Zool also skipped a step in assuming that this was an attack on his credibility here, since telling someone to watch out for placebo isn’t exactly bad advice in this context.

Anyway, moral of the story is, when you make your entire personality be the annoying neckbeard that constantly finds reasons to shit on the people making everyone’s hobby possible, you’re gonna get yourself real worked up if you’re also the annoying know-it-all who cannot be wrong about anything. Really sucks to see people trying to “win” the conversation on a suggestion post about optimization, of all things.

18 days ago
1

While Im all for internet drama, these posts arent relevant to my original thread. Please, make a specific post for reflex.

18 days ago

DimNetball090
it is very much possible that the game has around of 60ms PCL in offline play. you then add another 33ms for the two frames of delay the game adds for online play and all of a sudden you have 93ms. so my estimate that the game might have around 100ms is actually perfectly fine. although i should have mentioned that we need to differenciate between online and offline. but i also want to make clear that testing with a camera has little to no value. you need something like Nvidia LDAT. a camera test can be several frames off. you at least need to wire you input device to an LED that lights up when you press the button. determening the button press via camera is very inaccurat.
I will admit that i chose my words poorly and the 40ms reduction is the best case scenario but it can be found in any test out there. And if you look at reflex test that use a wider range of games its the more common case. So yes around 80-100ms is a very common PCL depending on the hardware. You must consider that digital foundry tested this with a top of the line monitor, input device etc. you can easly add 20ms with a run of the mill display and input device because they all add a bit of latency. So in reality the mayority of people will be running many games with 100ms PCL. It is a very common scenario.

So i would say the actual moral of the story is that no matter how hard you try to twist someones words the truth will still stay the truth.

on a side note: if i would disect every post on here and wheig ones words light you just did, every single post would fall apart, especially yours.

18 days ago

on the actual topic:
why i originally wanted to bring up reflex in here before all this got siderailed:
the “just in time” rendering reflex does can also resolve frame time issues caused by frame limiters according to some test i read. So if the ingame limiter actual has issues or not is a bit unclear, since @bobbyd0g s findings should not be ignored (and i never said they should). But if the limiter is indeed causing issues, adding reflex could be an easy win here.

18 days ago

Just wanted to say I set my framerate in-game to 999 and it seems to have made my performance better. Wild

17 days ago
1

Hoooooly Reddit

17 days ago
1

We talking latency and setups? MY TIME TO SHINE

==

End to end lag testing rivals 2

Using a teensyboard I setup to send inputs to the game and light an LED together, my lag numbers averaged to 29.7ms over 50 measures to the bottom of the screen with an ingame cap set to 240fps for a 260hz VRR

For reference, Melee’s latency (Console + poll drift fix + 60hz CRT measured center of the screen) is ~58.2ms
(Notice how I said “bottom of the screen” for R2. We have to remove ~1.92ms [1/2 of 260hz scanout time] to have an apples to apples comparison, so R2 is technically ~27.78ms to the center of the screen on
my setup)

This checks out with my hunch that the game logic waits one 60hz frame (since the logic is decoupled from the visual rendering fps) before processing your input.

Take 1f lag (16.67ms) + avg time waiting for next logic update of 60hz engine (8.3ms) = 25ms avg theoretical perfect end to end latency for rivals.

Since I used the input display which is located at the bottom of the screen, you have to add my display’s time to scanout to the bottom ~3.85ms for 260hz (screen I had at the time)

16.67+8.33+3.85 = 28.85ms expected lag. Add a little for LCD response (I measured first change not 0-80 transitions), time to build frames, display lag, etc. and boom, there’s my 29.7ms measurement.

My hunch is also corroborated by earlier patches, where the input viewer was not tied to the game logic and you could see the difference between the engine directly polling controller inputs to the time the game logic actually hit the screen.

==

Now onto reflex

If you are after the lowest system latency you should NEVER allow your GPU to run up to 100%. Total system lag sharply starts increasing as a GPU goes >90% or so. This is the scenario reflex helps a ton in. But Reflex doesn’t have latency benefits against a non gpu bound scenario. That’s not its purpose and photodiode lag testing agrees with that.

TLDR if you have a GPU bound scenario where reflex is lowering your latency, that’s still worse than avoiding a GPU bottleneck in the first place

IIRC Reflex also will auto cap your fps for VRR purposes if you have Gsync enabled approximately with the formula

maxhz - (maxhz * maxhz) / 3600

So here’s your cheatsheet to copy that behavior
• 116fps for 120hz
• 138fps for 144hz
• 157fps for 165hz
• 224fps for 240hz
• 324fps for 360hz
(The why behind this is out of the scope of this post)

So although reflex could be a nice extra feature, you pretty much can already have the exact same VRR capping behavior and better lag by just manually capping ingame and avoiding GPU bottlenecks completely. (There are cases where games have bad fps limiters, but rivals does not appear to be one of those)

==

Game caps/“Should I set 999fps in the middle of a tournament?”

If you are at a tournament about to play a set and you don’t have the time or access to the computer to really check and test, setting the ingame cap to 999 adds a risk of creating a GPU bound scenario, especially if vsync is disabled at the driver level. Also you probably don’t know what the computers and displays are setup for at a tournament. If VRR is in play and the game is properly capped, then you want vsync on at the driver level, (where the only input lag is not showing a partial/torn frame which averages out over multiple photodiode/ldat style measurements to be basically irrelevant due to the tearline moving around.) Exceeding the VRR range in this scenario by upping to 999 now adds vsync lag. (Though sure at higher and higher fps+hz, this becomes less and less of an issue, but not every tournament is on such high refresh rates and it’s not out of the question for an edge case scenario to add GPU bound lag ontop of vsync lag)

External caps?

Capping at the driver level or with an external tool like RTSS, MangoHUD, etc. will give you smoother frametimes and can give you essentially perfect flat frametime graphs if you have the headroom, but at the cost of input latency. In this case you would want to use 999 ingame and let the external cap do the limiting work. I usually see somewhere between 0.5-1f of lag (Mind you that’s framerate frames, not 60hz logic frames), so again, less relevant as fps and hz go up. Many players seeking smoother games will probably prefer this approach, though I wouldn’t recommend it for tournaments.

==

My experience lines up with bobbyd0g though. R2 actually runs pretty well all things considered, but maybe I’ve just been lucky. Sure, online on servers where I might be on 40+ms ping, yeah I notice more jitters, skipped frames of animations, and more frametime inconsistencies (likely CPU limits with rollback or something), but offline… it’s just buttery smooth. (I also play on low persistence displays that don’t hide frametime problems under persistence blur but that’s too far offtopic now…)

…This game has really sent me off the deep end :)

11 days ago
3