Jump to content
Sign in to follow this  
bojote

FSX vSync FIX

Recommended Posts

Actually... is your system capable of producing 60 at all times? If not, then 30 is actually what you'll see - it's part of the way vsync works, it's going to drop down to your refresh rate divided by 2 (then that number divided by 2 and so on down to 1) because you can't sync to fractions of frames. This is the downside to using vsync - if you can't maintain a framerate equal to the monitor's refresh rate, you're going to see a lot of large swings where the framerate gets cut down to half the refresh rate or more. A lot of gamers who play twitch first person shooter games leave vsync off and deal with the tearing because of this - you'd much rather have 55 FPS and tearing vs. 30FPS and no tearing in a game where the framerate matters hugely to the gameplay like that. Vsync absolutely does cause what would be small drops in framerate with vsync off to be much larger ones with it on.
Oh yes it is, very much capable in fact. For instance: if I unlimit, it will go to 70, and if I set limited to 40fps, and keep windowed, it is gonna show 30, and change to full screen, it will show 40. Weird, ain't it?

Share this post


Link to post
Share on other sites

What I replied to Word Not Allowed above is really important because everyone's going to be using the NickN explanation of vsync, which is incorrect.From his guide:"MYTH: Turning Vsync OFF will increase frame ratesFALSETurning Vsync off creates image tears and microstutters in FSX and DOES NOT increase performance.If you are correctly set up in your drivers with Vsync enabled your frame rate will never go over the refresh rate of the monitor. With LCD that refresh rate is typically 60 (meaning 60FPS is the highest FSX will run) and that is the correct way to run FSX, with Vsync always ENABLED. Vsync locks the image and keeps it from jittering and tearing in FSX."If your system can't maintain a framerate exactly equal to or higher the refresh rate, you're going to see a MUCH lower framerate than you would with vsync off. The first value that's even possible for it to drop to while still maintaining vsync is 1/2 the monitor refresh rate. This is just how vsync works, this isn't specific to FSX or anything, any 3D application/game will exhibit this. The end effect is that on a modern LCD monitor that runs at a 60Hz refresh rate, you will see 30FPS maximum *if* you can't maintain 60. Even if your framerate drops from 60 to 59, you will see 30 because there is no way for the video card's frame buffer to draw to the monitor in between single frames like there is with vsync off. It has to drop to 1/2, skipping every other frame of the monitor's refresh cycle. If it drops below 30, you're going to see 1/3 of the refresh rate because now it only draws once every third frame in the refresh cycle and so on down the list of 1/x fractions.I just want to make sure people understand this before everyone goes and enables vsync with this new cfg setting and then is shocked to see the FPS so low. This is why it happens. If you're happy with 30 and have the framerate slider locked to that, then cool - vsync should work great for you.


Ryan Maziarz
devteam.jpg

For fastest support, please submit a ticket at http://support.precisionmanuals.com

Share this post


Link to post
Share on other sites
Oh yes it is, very much capable in fact. For instance: if I unlimit, it will go to 70, and if I set limited to 40fps, and keep windowed, it is gonna show 30, and change to full screen, it will show 40. Weird, ain't it?
That's strange... let me try this out for a bit. I wonder if it has something to do with the fact that in Windowed mode you're also drawing the Windows UI stuff (taskbar etc)... Showing 40 with vsync on (assuming your refresh rate is 60) shouldn't be possible though in the "physics" of how vsync works. I'd actually wonder if something isn't going wrong somehow with this command then if that's actually the case. 40 is 2/3rds of 60, if the monitor and video card are in sync, that's not possible, means it's drawing frames in the in-between spaces of the 60Hz monitor refresh cycle. What happens in full screen if you set the FSX slider to unlimited?

Ryan Maziarz
devteam.jpg

For fastest support, please submit a ticket at http://support.precisionmanuals.com

Share this post


Link to post
Share on other sites
That's strange... let me try this out for a bit. I wonder if it has something to do with the fact that in Windowed mode you're also drawing the Windows UI stuff (taskbar etc)... Showing 40 with vsync on (assuming your refresh rate is 60) shouldn't be possible though in the "physics" of how vsync works. I'd actually wonder if something isn't going wrong somehow with this command then if that's actually the case. 40 is 2/3rds of 60, if the monitor and video card are in sync, that's not possible, means it's drawing frames in the in-between spaces of the 60Hz monitor refresh cycle. What happens in full screen if you set the FSX slider to unlimited?
Nah, you misread my previous post:If I set in FS to unlimited: 70fps (fsx.cfg settings both off), no matter if windowed or full screen.If I set in FSX.cfg:ForceFullScreenVSync=1ForceWindowedVSync=1AND in FSX 40fps limited, then:FullScreen=40fpsWindowed=30fpsGot it?It's like FullScreen works completely fine, limiting in Full Screen only, but Windowed, though it works, halves the frame rate.

Share this post


Link to post
Share on other sites

There's an important piece of this vSync puzzle being omitted, I think. The way Ryan describes vSync here, where frame rates will be no higher than the next-lower integral quotient of the monitor refresh rate, assumes that only simple direct double-buffering is going on.I believe that FS9/FSX both use render-ahead buffering, an option supported by DirectX 8/9...in fact the number of buffers is a parameter that can be set in some tweak utilities such as nHancer and ATI Tray Tools, called "maximum pre-rendered frames" (nVidia) or "flip-queue buffer" (ATI). In full-screen mode, FS is writing directly to a circular queue of back buffers (DirectX default is three of them), so the CPU can finish a frame and then start writing the next one in the buffer queue without waiting for the GPU to finish rendering its current frame. The GPU grabs or "flips" the next completed buffer in the queue--if vSync is on, it waits until the it hits a vertical blanking interval before flipping the buffers, with it off, it flips the buffers mid-cycle and some latter part of the data rendered by the GPU will come from a newer frame than it started with (causing a "tear" if there was motion between the frames). In Windowed mode, FS doesn't have direct access (the Desktop does), so it's writing indirectly to a buffer controlled by the Windows desktop, and simple double-buffering is indeed taking place, meaning that with vSync on in windowed mode the frame rate will indeed drop to the next lower integral quotient of the monitor refresh rate. IOW, if the monitor's refresh rate is 60 fps, and the CPU is generating frames at 25 fps, double-buffering mechanics will force the frame rate to drop to 20 fps--25 is lower than 30 (60fps/2) so it drops to 20 (60fps/3).Experimentally, this is consistent with what I'm seeing. If I turn vSync on in full-screen mode with frames set to 40 fps, I get close to 40 fps. In windowed mode with the same settings (40 fps), I get close to 30 fps.So in windowed mode with vSync on, your frame rates are going to snap to a value equal to the monitor rate divided by an integer...for the standard 60 Hz LCD, that'd be 60, 30, 20, 15, 12, 10, ... If your CPU can hold 70 fps consistently, set it to that and expect 60 fps for a frame rate. If you can hold 45, set it to that, and expect 30. If you're on the ragged edge at 30fps, probably better to set it to 28 and get a consistent 20 fps rather than ratcheting back-forth between 30 and 20.That's my story, and I'm stickin' to it! :( CheersBob ScottColonel, USAF (ret)ATP IMEL Gulfstream II-III-IV-VColorado Springs, CO


Bob Scott | President and CEO, AVSIM Inc
ATP Gulfstream II-III-IV-V

System1 (P3Dv5/v4): i9-13900KS @ 6.0GHz, water 2x360mm, ASUS Z790 Hero, 32GB GSkill 7800MHz CAS36, ASUS RTX4090
Samsung 55" JS8500 4K TV@30Hz,
3x 2TB WD SN850X 1x 4TB Crucial P3 M.2 NVME SSD, EVGA 1600T2 PSU, 1.2Gbps internet
Fiber link to Yamaha RX-V467 Home Theater Receiver, Polk/Klipsch 6" bookshelf speakers, Polk 12" subwoofer, 12.9" iPad Pro
PFC yoke/throttle quad/pedals with custom Hall sensor retrofit, Thermaltake View 71 case, Stream Deck XL button box

Sys2 (MSFS/XPlane): i9-10900K @ 5.1GHz, 32GB 3600/15, nVidia RTX4090FE, Alienware AW3821DW 38" 21:9 GSync, EVGA 1000P2
Thrustmaster TCA Boeing Yoke, TCA Airbus Sidestick, 2x TCA Airbus Throttle quads, PFC Cirrus Pedals, Coolermaster HAF932 case

Portable Sys3 (P3Dv4/FSX/DCS): i9-9900K @ 5.0 Ghz, Noctua NH-D15, 32GB 3200/16, EVGA RTX3090, Dell S2417DG 24" GSync
Corsair RM850x PSU, TM TCA Officer Pack, Saitek combat pedals, TM Warthog HOTAS, Coolermaster HAF XB case

Share this post


Link to post
Share on other sites
I believe that FS9/FSX both use render-ahead buffering, an option supported by DirectX 8/9
And you believe right :) Ryan, can you share this info yet or not? (I'm talking about the Stale buffer thing)

Share this post


Link to post
Share on other sites
Shane,Had similar problem in the past - if you can live without the VATSIM GUI screen, you will get your AA back.So if you go into the Squawkbox options and remove the GUI screen, your AA will come back. You can then still make frequency changes using the FS radios.Not ideal but it does fix the 'loss of AA' problem. Or at least it did for me!
How do you change transponder modes and ident while in full screen mode with no GUI?

Share this post


Link to post
Share on other sites
How do you change transponder modes and ident while in full screen mode with no GUI?
Use a transponder gauge on your panel (or in a separate subpanel) that interfaces with squawkbox to make those inputs. Lee Hetherington's freeware tcas2v7 TCAS/Transponder gauge is one example.RegardsBob ScottColonel, USAF (ret)ATP IMEL Gulfstream II-III-IV-VColorado Springs, CO

Bob Scott | President and CEO, AVSIM Inc
ATP Gulfstream II-III-IV-V

System1 (P3Dv5/v4): i9-13900KS @ 6.0GHz, water 2x360mm, ASUS Z790 Hero, 32GB GSkill 7800MHz CAS36, ASUS RTX4090
Samsung 55" JS8500 4K TV@30Hz,
3x 2TB WD SN850X 1x 4TB Crucial P3 M.2 NVME SSD, EVGA 1600T2 PSU, 1.2Gbps internet
Fiber link to Yamaha RX-V467 Home Theater Receiver, Polk/Klipsch 6" bookshelf speakers, Polk 12" subwoofer, 12.9" iPad Pro
PFC yoke/throttle quad/pedals with custom Hall sensor retrofit, Thermaltake View 71 case, Stream Deck XL button box

Sys2 (MSFS/XPlane): i9-10900K @ 5.1GHz, 32GB 3600/15, nVidia RTX4090FE, Alienware AW3821DW 38" 21:9 GSync, EVGA 1000P2
Thrustmaster TCA Boeing Yoke, TCA Airbus Sidestick, 2x TCA Airbus Throttle quads, PFC Cirrus Pedals, Coolermaster HAF932 case

Portable Sys3 (P3Dv4/FSX/DCS): i9-9900K @ 5.0 Ghz, Noctua NH-D15, 32GB 3200/16, EVGA RTX3090, Dell S2417DG 24" GSync
Corsair RM850x PSU, TM TCA Officer Pack, Saitek combat pedals, TM Warthog HOTAS, Coolermaster HAF XB case

Share this post


Link to post
Share on other sites
Use a transponder gauge on your panel (or in a separate subpanel) that interfaces with squawkbox to make those inputs. Lee Hetherington's freeware tcas2v7 TCAS/Transponder gauge is one example.RegardsBob ScottColonel, USAF (ret)ATP IMEL Gulfstream II-III-IV-VColorado Springs, CO
Hmm...any idea if the PMDG 747/MD-11 or Leonardo Maddog 2008 transponders interface with Squawk Box 4?

Share this post


Link to post
Share on other sites
In [GRAPHICS] (not DISPLAY) add this:ForceFullScreenVSync=1And yes, its 1, not 'True'and set your driver to let the application manage vsync. just tested now with my nVidia card, and I can confirm it works. Can an ATI user test? I tested also in my laptop which uses a crappy intel card and it also worked... so either I'm completely dilusional or this is one of those 'miracle tweaks' (for ATI users) test and report.
In adition to ForceFullScreenVSync=1 there is also this one:ForceWindowedVSync=1 it also goes in the [GRAPHICS] section. Since I don't run window mode, I've not tested it.. but, guess someone will.

Share this post


Link to post
Share on other sites

Bob,Are you sure the Max Prerendered Frames option in the driver is the same thing as Triple Buffering? The way I understand it, that option is involved in queuing of frames between the CPU and GPU, not what the GPU sends to the monitor. If the engine does in fact do triple buffering natively, then what I said earlier may not apply - I will stand corrected if that's the case. (I still think Nick's explanation should have explained it in terms of triple buffering though instead of saying that it's a "myth" that vsync lowers FPS, it most certainly does unless you have triple buffering.) I'm a little puzzled as to why the sim wouldn't have an option for triple vs. double though considering triple buffering comes with its own set of problems like mouse lag and some other things.


Ryan Maziarz
devteam.jpg

For fastest support, please submit a ticket at http://support.precisionmanuals.com

Share this post


Link to post
Share on other sites
In adition to ForceFullScreenVSync=1 there is also this one:ForceWindowedVSync=1 it also goes in the [GRAPHICS] section. Since I don't run window mode, I've not tested it.. but, guess someone will.
Hola *******; Windowed mode vSync using the above setting does work here using a 5870, with the double-buffering behavior I described above--frame rates snap down to the next lower integer quotient of the monitor refresh rate. But for those who use windowed mode, it's really something to finally have vSync!Saludos y

Bob Scott | President and CEO, AVSIM Inc
ATP Gulfstream II-III-IV-V

System1 (P3Dv5/v4): i9-13900KS @ 6.0GHz, water 2x360mm, ASUS Z790 Hero, 32GB GSkill 7800MHz CAS36, ASUS RTX4090
Samsung 55" JS8500 4K TV@30Hz,
3x 2TB WD SN850X 1x 4TB Crucial P3 M.2 NVME SSD, EVGA 1600T2 PSU, 1.2Gbps internet
Fiber link to Yamaha RX-V467 Home Theater Receiver, Polk/Klipsch 6" bookshelf speakers, Polk 12" subwoofer, 12.9" iPad Pro
PFC yoke/throttle quad/pedals with custom Hall sensor retrofit, Thermaltake View 71 case, Stream Deck XL button box

Sys2 (MSFS/XPlane): i9-10900K @ 5.1GHz, 32GB 3600/15, nVidia RTX4090FE, Alienware AW3821DW 38" 21:9 GSync, EVGA 1000P2
Thrustmaster TCA Boeing Yoke, TCA Airbus Sidestick, 2x TCA Airbus Throttle quads, PFC Cirrus Pedals, Coolermaster HAF932 case

Portable Sys3 (P3Dv4/FSX/DCS): i9-9900K @ 5.0 Ghz, Noctua NH-D15, 32GB 3200/16, EVGA RTX3090, Dell S2417DG 24" GSync
Corsair RM850x PSU, TM TCA Officer Pack, Saitek combat pedals, TM Warthog HOTAS, Coolermaster HAF XB case

Share this post


Link to post
Share on other sites
In adition to ForceFullScreenVSync=1 there is also this one:ForceWindowedVSync=1 it also goes in the [GRAPHICS] section. Since I don't run window mode, I've not tested it.. but, guess someone will.
Yes I can also confirm "ForceWindowedVSync=1" works perfectly on my ATI 5870.CheersCraig

Craig Sells

Share this post


Link to post
Share on other sites
Use a transponder gauge on your panel (or in a separate subpanel) that interfaces with squawkbox to make those inputs. Lee Hetherington's freeware tcas2v7 TCAS/Transponder gauge is one example.RegardsBob ScottColonel, USAF (ret)ATP IMEL Gulfstream II-III-IV-VColorado Springs, CO
CX2.0 and most of our other aircraft have Vatsim Compatible Xponders.

Best Regards,

Ron Hamilton PP|ASEL

Forumsig16.png

Share this post


Link to post
Share on other sites
Bob,Are you sure the Max Prerendered Frames option in the driver is the same thing as Triple Buffering? The way I understand it, that option is involved in queuing of frames between the CPU and GPU, not what the GPU sends to the monitor. If the engine does in fact do triple buffering natively, then what I said earlier may not apply - I will stand corrected if that's the case. (I still think Nick's explanation should have explained it in terms of triple buffering though instead of saying that it's a "myth" that vsync lowers FPS, it most certainly does unless you have triple buffering.) I'm a little puzzled as to why the sim wouldn't have an option for triple vs. double though considering triple buffering comes with its own set of problems like mouse lag and some other things.
It's actually more like "quad buffering," since there are actually three back buffers in a circular queue plus the front buffer, rather than just the two alternating back buffers in a triple-buffer setup. Nick was correct that turning vSync off in FS did not improve frame rates...and that's because of the render-ahead buffering. However, now that (double-buffered) vSync is working in windowed mode, Nick's statement no longer holds true in windowed mode. In windowed mode, turning off vSync will generally produce a noticeable (and possibly quite large) increase in frame rates, at the cost of some tearing in the image. It's probably better to restate that conversely...turning ON vSync in windowed mode will produce a noticeable drop in frame rates, but will eliminate the tearing effect.Mouse lag is an issue with FPS games much more than a program like FS where a few milliseconds of lag after actuating a control is at best barely noticeable. The smoothing effects of render-ahead buffering do a lot for the animation. In a FPS, if there's even 50ms lag between pulling the trigger and getting a shot off, it's noticeable, and the trade-offs bear consideration. But if there's a 50ms lag between putting the gear handle down and the beginning of that animation, no problem, you'd have to really look to notice it. The effects of momentum produce natural lag between actuation of controls and aircraft reaction anyway...a few milliseconds more don't appreciably change the aircraft's behavior.CheersBob ScottColonel, USAF (ret)ATP IMEL Gulfstream II-III-IV-VColorado Springs, CO

Bob Scott | President and CEO, AVSIM Inc
ATP Gulfstream II-III-IV-V

System1 (P3Dv5/v4): i9-13900KS @ 6.0GHz, water 2x360mm, ASUS Z790 Hero, 32GB GSkill 7800MHz CAS36, ASUS RTX4090
Samsung 55" JS8500 4K TV@30Hz,
3x 2TB WD SN850X 1x 4TB Crucial P3 M.2 NVME SSD, EVGA 1600T2 PSU, 1.2Gbps internet
Fiber link to Yamaha RX-V467 Home Theater Receiver, Polk/Klipsch 6" bookshelf speakers, Polk 12" subwoofer, 12.9" iPad Pro
PFC yoke/throttle quad/pedals with custom Hall sensor retrofit, Thermaltake View 71 case, Stream Deck XL button box

Sys2 (MSFS/XPlane): i9-10900K @ 5.1GHz, 32GB 3600/15, nVidia RTX4090FE, Alienware AW3821DW 38" 21:9 GSync, EVGA 1000P2
Thrustmaster TCA Boeing Yoke, TCA Airbus Sidestick, 2x TCA Airbus Throttle quads, PFC Cirrus Pedals, Coolermaster HAF932 case

Portable Sys3 (P3Dv4/FSX/DCS): i9-9900K @ 5.0 Ghz, Noctua NH-D15, 32GB 3200/16, EVGA RTX3090, Dell S2417DG 24" GSync
Corsair RM850x PSU, TM TCA Officer Pack, Saitek combat pedals, TM Warthog HOTAS, Coolermaster HAF XB case

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...