System: Win11 13900ks, RTX4090, 64G DDR5-XMP@5800, NVIDIA Game Ready Driver v537.42, 60Mhz display without G-Sync. I’ve reviewed several threads here but have not found one with the answer.
I’ve had no success so in creating a hard FPS lock on my 4090.
In NVIDIA Control Panel I’ve set:
“Manage 3D Settings > Program Settings > Microsoft Flight Simulator > Max Frame Rate 57”
“Manage 3D Settings > Program Settings > Microsoft Flight Simulator > Vertical Sync” Note: Here I’ve tried “Use 3D Application Setting”, “On”, “Off”, and “Fast” with no impact to FPS lock. On did fix screen tearing.
In the sim I’ve set:
“General Options > NVIDIA DLSS Frame Generation > OFF”
"General Options > V-SYNC > Off
With all of those set my FPS is still variable from 45 to 165. It will not create a hard FPS lock.
Do you have a set of 4090 settings that will create a hard FPS lock?
The reason I’m trying to get a hard FPS lock is because of micro-stutters. Between 30 minutes and 1 hour 45 minutes micro stutters begin as the FPS repeatedly tops out. They worsen as I fly. The stutters get to about one every five seconds. I’m hoping that with a hard FPS lock I can slowly bring the FPS down to stability.
Either trough vsync, FPS limiter in nvidia panel, or external fps limiter.
Trough vsync is the best solution for a smooth experience, but you have to make sure that you lock fps BELOW your minimum FPS.
Example:
Monitor refreshrate 60Hz, set vsync to 50% in MSFS menu, it will lock at 30FPS.
My monitor is at 120Hz, so i use 1/3 vsync in msfs to lock at 40FPS.
If you are using DX12, use the NVDIA Control Panel, turn Vsync on and limit frames to slightly below your fresh rate or a multiple there of as stated above.
As I understood your reply description.
In the sim:
“General Options > DirectX Version > DX12 (Beta)”
In NVIDIA Control Panel:
“Manage 3D Settings > Program Settings > Microsoft Flight Simulator > Max Frame Rate 57”
“Manage 3D Settings > Program Settings > Microsoft Flight Simulator > Vertical Sync > On”
The frame rate IS NOT LOCKED at 57. The FPS are still variable from 45 to over 135.
I have the same setup, but I use max fps 40 and vsync fast in Nvidia CPL (and leave vsync off in msfs) - what is the difference and is one way better than the other?
setting max fps in nvcpl should limit it to that. maybe you have some gsync, or vrr thats overriding that.
I see that you have monitor tech using g-sync - could that be the issue?
I limited my FPS starting with my old RTX 3080 to stop CTDs and stutters, as well as holding down GPU and CPU temperatures. I still do it with my RTX 4080 using 82 fps, half my monitor refresh rate and get even better results than before. I don’t mess with Vsync or other settings I just do it in NVCP as shown here:
After additional testing with the suggestions I was able to narrow down the FPS locking. I can get the FPS to not exceed the value of 57 I set. It is however still variable within a range of 45-57 while on the ground.
That is, until I pop out a G1000NXi panel to a second monitor, then the FPS jumps to about 140-160 and is variable down to 45 and back up. In the NVIDIA CP I have FPS now set to 57 and V-SYNC to on globally.
Any suggestions on forcing the second monitor to lock FPS or at least not exceed the Max Frame Rate value I set. That is a non G-SYNC, 60Mhz display.
There are no 60Mhz displays…60Hz and 60Hz means a max of 60FPS. If you are using Frame Generation and cannot maintain your target FPS of 57 it will go below. After popping your panel out did you bring your main FS monitor back into focus and check frame rate?
In your PC’s settings, go to: System > Display > Advanced Display. Set your display Refresh Rate to 60hz, and confirm the change when requested.
In MSFS settings: Setting in-game Refresh Rate at 100% of the monitor rate will therefore give you a locked 60fps. Setting in-game Refresh Rate at 50% will give you a locked 30fps, etc.
There are variations as was already mentioned. If you set the PC refresh rate as 120hz, and the in-game refresh rate as 1/3 of the monitor rate, that will give you a locked 40fps.
Be aware that if you use pop-out panels, the FPS overlay of MSFS goes nuts and displays anything but the real FPS. Always use an external FPS counter (like MSI Afterburner) to measure your true FPS, never the internal FPS counter of the dev mode. It will also not show your FPS correct if using frame generation for example…
Besides this, looking on your settings, I do absolutely not get why you want a FPS limit in any case and why you use e.g. DLSS on the Quality setting. Your 4090 is sleeping 90% of the time with the settings you show here and 90% of its performance is simply wasted. Hope you are aware of this…
I’m attempting to eliminate stuttering is the reason I want to limit FPS. I’m working through multiplie suggestions to arrive at a working solution. Part of my testing scenario was to confirm that I can limit FPS.
A slip of the keyboard press, Yes 60Hz. Yes, I selected focus back to the main panel. The FPS was still high. As suggested later I’m going to retest with MSI Afterburner.
I had been running MSI Afterburner but removed it to eliminate it as a variable in my testing. I’ve used the FPS counter for realtime monitoring. Do you recall if it has a FPS graphing capability? I don’t recall seeing that feature. I found the Xbox Game Bar FPS graph useful is viewing the frequency and period of the stutters.
Well, my personal experience is contrary: if you have such a fast GPU and maybe even using frame generation, you should try to move as much load to the GPU as possible to reduce stuttering. The reason is simple: 99% of the stutters origin from the CPU, so the more GPU bound you are, the less likely CPU related stuttering is visible. So I suggest to increase GPU load above 90%, ideally the MSFS performance graph reads «limited by GPU» instead of «limited by main thread».
Try once: resolution scale 130, frame generation on (you need to switch to DX12 anddhave HAGS on in ndows), Vsync on in nVIDIA control panel but NOT in MSFS and cap the FPS at 120 FPS instead of 60.