Batman™: Arkham Knight

Batman™: Arkham Knight

View Stats:
ancalimon Mar 12, 2017 @ 5:17am
90fps cap?
Why does the game has a 90fps cap? Is it really that hard to not cap framerates?
< >
Showing 1-14 of 14 comments
Ancient Mar 12, 2017 @ 6:41am 
It's a lie anyway. Even with it set at 90, the engine still pushes higher if your GPU can do it.

Settings: http://steamcommunity.com/sharedfiles/filedetails/?id=835487803

Benchmark: http://steamcommunity.com/sharedfiles/filedetails/?id=835487896

I see the same thing in-game. Averaging 130 FPS.
ancalimon Mar 12, 2017 @ 7:19am 
For me ingame fps is locked at 90 but I edited one ini file to increase it to 144. My monitor has gsync.

Benchmark passes it though just like yours.
lucasj1210 Mar 12, 2017 @ 7:20am 
Originally posted by ancalimon:
Why does the game has a 90fps cap? Is it really that hard to not cap framerates?
it's not capped....just turn v-synch off when in game
Torx Jul 22, 2017 @ 12:54pm 
V-Sync off doesn't work for me. Not even via Nvidia control panel. It's always capped to 90.
Ancient Jul 23, 2017 @ 2:26am 
Originally posted by SouldomainTM:
V-Sync off doesn't work for me. Not even via Nvidia control panel. It's always capped to 90.

..\Steam\steamapps\common\Batman Arkham Knight\BmGame\Config

Open BmSystemSettings.ini and change MaxFPS=90.000000 to something else.
Seibzehn Mar 4, 2022 @ 11:58am 
Thanks this helped me!

Game runs 120-220 FPS very smooth un Ultra FullHD.

Or 2880x1620 with 100-140+ FPS which gives a clearer city image.
Last edited by Seibzehn; Mar 4, 2022 @ 12:07pm
Zforgetaboutit Dec 25, 2022 @ 7:46pm 
Originally posted by Ancient:
..\Steam\steamapps\common\Batman Arkham Knight\BmGame\Config

Open BmSystemSettings.ini and change MaxFPS=90.000000 to something else.

This setting works for me - set mine to 165.
Last edited by Zforgetaboutit; Dec 25, 2022 @ 7:47pm
doomedSniper Dec 25, 2022 @ 9:03pm 
Originally posted by Tech Priest:
V-Sync off doesn't work for me. Not even via Nvidia control panel. It's always capped to 90.
Then check whether some other third party apps is capping it. Like Afterburner or, any similar apps that can cause the potential capping. ini edit should have done it.
ancalimon Dec 26, 2022 @ 11:29am 
Never turn off vsync in games because that turns off an ancient but essential feature. Turning it off will cause screen tearing since your monitor will be out of sync with your gpu and frames will be displayed one after another without waiting for the last one to be displayed fully. The intensity of this corruption will become more apparent based on the synchronization between your gpu and the timings of your monitor. Even if you use a recent monitor with gysnc or freesync feature, you still need to enable vsync in almost all games or sometimes via nvidia profile explorer.
Last edited by ancalimon; Dec 26, 2022 @ 11:31am
Moth Jun 8, 2023 @ 4:47am 
Vsync is only needed *if* you're experiencing screen tearing. If you don't have screen tearing then Vsync will do nothing but cause input lag, and you should turn it off.
Cheeze Wizard Jun 8, 2023 @ 8:50am 
Originally posted by ancalimon:
Never turn off vsync in games because that turns off an ancient but essential feature. Turning it off will cause screen tearing since your monitor will be out of sync with your gpu and frames will be displayed one after another without waiting for the last one to be displayed fully. The intensity of this corruption will become more apparent based on the synchronization between your gpu and the timings of your monitor. Even if you use a recent monitor with gysnc or freesync feature, you still need to enable vsync in almost all games or sometimes via nvidia profile explorer.
The hell are you talking about with gsync and freesync. First of all the way you structure it is if some minor feature or side effect of v-sync prevents screen tearing but literally the whole point of v-sync is to prevent that. It's vertical synchronization, its to make sure as your computer is sending out the image line by line it waits till it is done with the previous one to send the next one. Gsync and Freesync are literally replacements for it, they put the work onto the monitor instead to dynamically adjust its refresh rate to keep sync with frames. With Vsync off, I can have my fps at 40 or 300 with no tearing, or wildly oscillating between like 100 and 150, and gsync handles the syncing. You can technically enable both but then you are entirely eliminating the input lag benefits that gsync and freesync bring. On modern gsync monitors and gpus they can handles frames higher than the refresh rate just fine without tearing if you have gsync on while you still get the minuscule latency benefits and the dopamine rush from seeing the big number on the fps counter while at ultra settings.
ancalimon Jun 11, 2023 @ 7:58am 
Originally posted by CallMeRetro VR or Bust:
Originally posted by ancalimon:
Never turn off vsync in games because that turns off an ancient but essential feature. Turning it off will cause screen tearing since your monitor will be out of sync with your gpu and frames will be displayed one after another without waiting for the last one to be displayed fully. The intensity of this corruption will become more apparent based on the synchronization between your gpu and the timings of your monitor. Even if you use a recent monitor with gysnc or freesync feature, you still need to enable vsync in almost all games or sometimes via nvidia profile explorer.
The hell are you talking about with gsync and freesync. First of all the way you structure it is if some minor feature or side effect of v-sync prevents screen tearing but literally the whole point of v-sync is to prevent that. It's vertical synchronization, its to make sure as your computer is sending out the image line by line it waits till it is done with the previous one to send the next one. Gsync and Freesync are literally replacements for it, they put the work onto the monitor instead to dynamically adjust its refresh rate to keep sync with frames. With Vsync off, I can have my fps at 40 or 300 with no tearing, or wildly oscillating between like 100 and 150, and gsync handles the syncing. You can technically enable both but then you are entirely eliminating the input lag benefits that gsync and freesync bring. On modern gsync monitors and gpus they can handles frames higher than the refresh rate just fine without tearing if you have gsync on while you still get the minuscule latency benefits and the dopamine rush from seeing the big number on the fps counter while at ultra settings.

gsync and freesync are not replacements for vsync. They are literally patches. The purpose of freesync and gsync is to sync your monitor to the output of your gpu; literally change how many frames are displayed at any given second on the fly. FPS and hertz are totally different things you see. The purpose of vsync is to prevent another frame being displayed on your monitor before the previous one has been completely emptied from the frame.

Think of it like this: For example the monitor is running at 94hz this second and the GPU is outputting 94 frames this second. Not all of the frames are going to be displayed at equal times. Some will taker longer and others shorter. VSYNC comes to the rescue here. Not GSYNC or FREESYNC.

So both technologies work at the same time to get defect free frames at any given time.

https://blurbusters.com/gsync/gsync101-input-lag-tests-and-settings/15

Wait, why should I enable V-SYNC with G-SYNC again? And why am I still seeing tearing with G-SYNC enabled and V-SYNC disabled? Isn’t G-SYNC suppose to fix that?
(LAST UPDATED: 05/02/2019)
The answer is frametime variances.

“Frametime” denotes how long a single frame takes to render. “Framerate” is the totaled average of each frame’s render time within a one second period.

At 144Hz, a single frame takes 6.9ms to display (the number of which depends on the max refresh rate of the display, see here), so if the framerate is 144 per second, then the average frametime of 144 FPS is 6.9ms per frame.

In reality, however, frametime from frame to frame varies, so just because an average framerate of 144 per second has an average frametime of 6.9ms per frame, doesn’t mean all 144 of those frames in each second amount to an exact 6.9ms per; one frame could render in 10ms, the next could render in 6ms, but at the end of each second, enough will hit the 6.9ms render target to average 144 FPS per.

So what happens when just one of those 144 frames renders in, say, 6.8ms (146 FPS average) instead of 6.9ms (144 FPS average) at 144Hz? The affected frame becomes ready too early, and begins to scan itself into the current “scanout” cycle (the process that physically draws each frame, pixel by pixel, left to right, top to bottom on-screen) before the previous frame has a chance to fully display (a.k.a. tearing).

G-SYNC + V-SYNC “Off” allows these instances to occur, even within the G-SYNC range, whereas G-SYNC + V-SYNC “On” (what I call “frametime compensation” in this article) allows the module (with average framerates within the G-SYNC range) to time delivery of the affected frames to the start of the next scanout cycle, which lets the previous frame finish in the existing cycle, and thus prevents tearing in all instances.

And since G-SYNC + V-SYNC “On” only holds onto the affected frames for whatever time it takes the previous frame to complete its display, virtually no input lag is added; the only input lag advantage G-SYNC + V-SYNC “Off” has over G-SYNC + V-SYNC “On” is literally the tearing seen, nothing more.

In part 1 “Control Panel“:

Upon its release, G-SYNC’s ability to fall back on fixed refresh rate V-SYNC behavior when exceeding the maximum refresh rate of the display was built-in and non-optional. A 2015 driver update later exposed the option.

This update led to recurring confusion, creating a misconception that G-SYNC and V-SYNC are entirely separate options. However, with G-SYNC enabled, the “Vertical sync” option in the control panel no longer acts as V-SYNC, and actually dictates whether, one, the G-SYNC module compensates for frametime variances output by the system (which prevents tearing at all times. G-SYNC + V-SYNC “Off” disables this behavior; see G-SYNC 101: Range), and two, whether G-SYNC falls back on fixed refresh rate V-SYNC behavior; if V-SYNC is “On,” G-SYNC will revert to V-SYNC behavior above its range, if V-SYNC is “Off,” G-SYNC will disable above its range, and tearing will begin display wide.

Within its range, G-SYNC is the only syncing method active, no matter the V-SYNC “On” or “Off” setting.

In part 4 “Range“:

G-SYNC + V-SYNC “Off”:
The tearing inside the G-SYNC range with V-SYNC “Off” is caused by sudden frametime variances output by the system, which will vary in severity and frequency depending on both the efficiency of the given game engine, and the system’s ability (or inability) to deliver consistent frametimes.

G-SYNC + V-SYNC “Off” disables the G-SYNC module’s ability to compensate for sudden frametime variances, meaning, instead of aligning the next frame scan to the next scanout (the process that physically draws each frame, pixel by pixel, left to right, top to bottom on-screen), G-SYNC + V-SYNC “Off” will opt to start the next frame scan in the current scanout instead. This results in simultaneous delivery of more than one frame in a single scanout (tearing).

In the Upper FPS range, tearing will be limited to the bottom of the display. In the Lower FPS range (<36) where frametime spikes can occur (see What are Frametime Spikes?), full tearing will begin.

Without frametime compensation, G-SYNC functionality with V-SYNC “Off” is effectively “Adaptive G-SYNC,” and should be avoided for a tear-free experience (see G-SYNC 101: Optimal Settings & Conclusion).

And:

G-SYNC + V-SYNC “On”:
This is how G-SYNC was originally intended to function. Unlike G-SYNC + V-SYNC “Off,” G-SYNC + V-SYNC “On” allows the G-SYNC module to compensate for sudden frametime variances by adhering to the scanout, which ensures the affected frame scan will complete in the current scanout before the next frame scan and scanout begin. This eliminates tearing within the G-SYNC range, in spite of the frametime variances encountered.

Frametime compensation with V-SYNC “On” is performed during the vertical blanking interval (the span between the previous and next frame scan), and, as such, does not delay single frame delivery within the G-SYNC range and is recommended for a tear-free experience (see G-SYNC 101: Optimal Settings & Conclusion).

Finally, in part 6 “G-SYNC vs. V-SYNC OFF w/FPS Limit“:

As noted in G-SYNC 101: Range, G-SYNC + VSYNC “Off” (a.k.a. Adaptive G-SYNC) can have a slight input lag reduction over G-SYNC + V-SYNC as well, since it will opt for tearing instead of aligning the next frame scan to the next scanout when sudden frametime variances occur.

To eliminate tearing, G-SYNC + VSYNC is limited to completing a single frame scan per scanout, and it must follow the scanout from top to bottom, without exception. On paper, this can give the impression that G-SYNC + V-SYNC has an increase in latency over the other two methods. However, the delivery of a single, complete frame with G-SYNC + V-SYNC is actually the lowest possible, or neutral speed, and the advantage seen with V-SYNC OFF is the negative reduction in delivery speed, due to its ability to defeat the scanout.

Bottom-line, within its range, G-SYNC + V-SYNC delivers single, tear-free frames to the display the fastest the scanout allows; any faster, and tearing would be introduced.

---

So turning off vsync causes gsync and freesync to stop working for what they are initially intended for; prevent screen tearing.
Last edited by ancalimon; Jun 11, 2023 @ 8:08am
ancalimon Jun 11, 2023 @ 8:11am 
Originally posted by Moth:
Vsync is only needed *if* you're experiencing screen tearing. If you don't have screen tearing then Vsync will do nothing but cause input lag, and you should turn it off.

Screen tearing will definitely occur if vsync is off. Even if the timings happen to be perfect (which is -extremely impossible), you will have a slight tearing depending on what your refresh rate and the configuration of your monitor and resolution is.
Jarrod Jun 11, 2023 @ 4:53pm 
Originally posted by Ancient:
It's a lie anyway. Even with it set at 90, the engine still pushes higher if your GPU can do it.

Settings: http://steamcommunity.com/sharedfiles/filedetails/?id=835487803

Benchmark: http://steamcommunity.com/sharedfiles/filedetails/?id=835487896

I see the same thing in-game. Averaging 130 FPS.
Yeah you don't understand how benchmarks work. The benchmark uncaps the framerate. The main game is still capped at 90 when playing normally. A benchmark that caps fps is a useless benchmark.

To answer OPs question, this was a shoddy PC port. You can unlock the FPS by using a tool like BMT (https://steamcommunity.com/sharedfiles/filedetails/?id=484128370) or manually changing the ini files. (just use BMT, it's easy)

However, there is a visual issue with FPS above 30 in this game. Physics objects like ragdolls and little objects on characters (including boobs and batman's cape) will unrealistically jiggle around. Just wait until you meet Ivy and you'll see how ridiculous it is, and Batman's cape jiggling around while just standing in the GCPD is very distracting, at least for me. The issue gets worse the higher your framerate is. So far I don't think anyone's found a fix for this, probably because it's purely a cosmetic issue and you can play the game perfectly fine with it high. The best I've done is limit it to 60 so mitigate the jiggling as much as possible, but it can still be distracting. I refuse to play at 30 tho...

Not sure why there was a big discussion on vsync, since the FPS cap and vsync are two completely different things. I do agree that you should just keep vsync on, (especially in a non-competitive game like this) but there are people who just never notice screen tearing. I have a friend who never turns on vsync and never sees screen tearing, I am very envious of them... There's also a common misconception that screen tearing can only happen when the fps is above your refresh rate. I dunno why this misinformation is so prevalent, but it's just not true.
< >
Showing 1-14 of 14 comments
Per page: 1530 50

Date Posted: Mar 12, 2017 @ 5:17am
Posts: 14