Jump to content
Sign in to follow this  
Kosta

FPS Limited vs. Unlimited

Recommended Posts

Guest napamule

Word Not Allowed,Ok, my bad. Your thread. You're the boss. Yes sir. Don't let me mess it up. My post is only worth 2 cents, anyway. But if they agree=$1,000,000. Right?But to say 'externally' you mean using FPSLimiter (set to 30 with internal set to unlimited-which is the way it was designed to work). Those conditions should not be 'tweaked' or changed, right? Or is this what the post is about: EXPERIMENTING on/with already establish criteria?So when you say 'internal' you mean 'xx fps lock' versus 'unlimited' (fps lock). But, is that while still running FPSLimiter, or without limiter? Or without FPSLimiter EVER been run before? (I DO believe that there is some 'leftover effects' even when you don't use FPSLimiter anymore.). One poster asked what '99%' versus '100%' unlimited might mean. Internal or External? With or without FPSLimiter running? Document that?What I am saying is that EVEN if the deck has 52 cards, someone will wonder what a card game would 'do' if played with 51 cards. That's what this is-right? I think so.CBNapamule

Share this post


Link to post
Share on other sites

I think I had my final observation: FPS Limiter does *NOT* limit the FPS, as it actually should. This is what I believe. I might be wrong, but I think I'm not. Why:When you test a situation and change the FPS by shift+f11/f12, you can notice FPS going up, but so is the CPU usage. Until you reach the maximum of CPU usage, that is also the max. FPS FSX is going to achieve at that moment.This is why I think that FPS limiter actually limits the CPU usage and not FPS themselves. FPS going down or up are actually a result of CPU being limited by FPS limiter.Sadly, I have no other explanation for this, because the main scheduler as already said, runs on the Core1, as offloaded from the Core0 by Affinitymask, and as it's being limited, one way or another, apparently causes also slower texture loading. I can confirm that with any scenery I tested - from heavy sceneries, photoscenery or totally light default scenery without anything in it.

Share this post


Link to post
Share on other sites
Word Not Allowed,Ok, my bad. Your thread. You're the boss. Yes sir. Don't let me mess it up. My post is only worth 2 cents, anyway. But if they agree=$1,000,000. Right?But to say 'externally' you mean using FPSLimiter (set to 30 with internal set to unlimited-which is the way it was designed to work). Those conditions should not be 'tweaked' or changed, right? Or is this what the post is about: EXPERIMENTING on/with already establish criteria?So when you say 'internal' you mean 'xx fps lock' versus 'unlimited' (fps lock). But, is that while still running FPSLimiter, or without limiter? Or without FPSLimiter EVER been run before? (I DO believe that there is some 'leftover effects' even when you don't use FPSLimiter anymore.). One poster asked what '99%' versus '100%' unlimited might mean. Internal or External? With or without FPSLimiter running? Document that?What I am saying is that EVEN if the deck has 52 cards, someone will wonder what a card game would 'do' if played with 51 cards. That's what this is-right? I think so.CBNapamule
Ah Napamule, don't take it so harsh.Anyway, I think I was pretty clear about everything, at least Bert completely understood it. We are talking about FPS limiting. And there are two ways to do it!Externally, yes, FPS Limiter. To which FPS it is set, it doesn't really matter. Internal *should* be set to unlimited, as that's the reason for using external limiter. You can do whatever pleases you, you can limit internally too, but that wouldn't make much sense, now would it?Internally, yes, internally in FSX. Pretty much straightforward. Why use external if you use internal? Same logical question as before.What 99% vs 100%?!

Share this post


Link to post
Share on other sites
So now, let's go back to this topic. It would help if you could check if FPS also go up if you unlimit it...
Both tests were sitting at the tarmac, FSDT KJFK (Manhattan X is installed) and using AffinityMask=14 over 5 minutes using the LevelD 767CPU0 is running FIBERSCPU1 Main SchedulerCPU2 and CPU3 Terrain/Texture Manager threadsFPS LIMITED VIA FSX INTERNALLY to 25---FPS LIMITED VIA EXTERAL FPS LIMITER (SET TO UNLIMITED INSIDE FSX)

Share this post


Link to post
Share on other sites

Great *******! I see the exact picture here! Now I wonder... why is CPU usage dropping drastically? You think what I wrote two posts back might be right?Btw. if settings FFTF to 0, I achieve some FPS, actually so much what I lose through setting FPS vs. unlimited... maybe this is another small miracle tweak? Would be nice if someone confirmed! Still, gotta do some flight and smoothness testing.EDIT: Well guys, I think I did it. My final test, PMDG 747 sitting at Tarmac caused 20fps with 2D panel in view when internally limited before, and 30fps when externally limited. Now, I have 30fps in both situations, with FFTF=0. And NO MORE FPS DROP WITH THIS.

Share this post


Link to post
Share on other sites
Great *******! I see the exact picture here! Now I wonder... why is CPU usage dropping drastically? You think what I wrote two posts back might be right?Btw. if settings FFTF to 0, I achieve some FPS, actually so much what I lose through setting FPS vs. unlimited... maybe this is another small miracle tweak? Would be nice if someone confirmed! Still, gotta do some flight and smoothness testing.
Well... 'any' application, be it a 3d shooter, simulation, racing etc. is based on the rendering of single frames in rapid sucession. 'each' frame (which is rendered in aproximately 40ms) has some CPU usage component associated to it, remember, the GPU always LAGS behind the CPU in frame rendering, the CPU is the one who determines 'WHAT' to render, the GPU figures out HOW to do it. now... picture the following:IF the CPU only needs to render 25 each second, the CPU usage will be somewhat low... because is not working that hard. if you UNLIMIT then the CPU has to work harder and harder to produce a high number of frames. FPS Limiter, LIMITS the number of frames the CPU is able to render because when it senses you reach 25, then it throttles down the frames, so the CPU is kept from scaling.My 'threory' and this is PURELY speculation, is that FSX does a terrible job doing frame limiting. I think its simply (in the background) allowing the sim to produce a HIGH number of frames so the CPU is 'preparing' them ahead, but ONLY sending 25 FPS for the GPU to render. I think of this as some kind of highly inneficient buffering that requires a large number of frame aheads which in turn kill your CPU. speculation, of course :) but consistent with my observations.Now, how 'THAT" explains 'stuttering' when using FPS Limiter? well... no frame aheads, means possible 'skipping' ;) or perceived stutters... but with a large frame buffer everything is rendered in advance, which also means more 'smoothness'I think you can control that with the STALE buffer tweak.. but I've not tested.

Share this post


Link to post
Share on other sites

That is very interesting! It is also consistent with my experience; I actually went from the default value to 0.15 a few weeks ago and this has greatly increased my FPS. I didn't go further than that actually, but I will try and see what happens :)EDIT: I just tried a setting of 0 and really, this combined with poolsize=0, I have never seen my sim running so smoothly!


Best regards,

 

Alexander Rietveld

Share this post


Link to post
Share on other sites
Well... 'any' application, be it a 3d shooter, simulation, racing etc. is based on the rendering of single frames in rapid sucession. 'each' frame (which is rendered in aproximately 40ms) has some CPU usage component associated to it, remember, the GPU always LAGS behind the CPU in frame rendering, the CPU is the one who determines 'WHAT' to render, the GPU figures out HOW to do it. now... picture the following:IF the CPU only needs to render 25 each second, the CPU usage will be somewhat low... because is not working that hard. if you UNLIMIT then the CPU has to work harder and harder to produce a high number of frames. FPS Limiter, LIMITS the number of frames the CPU needs to render because when it senses you reach 25, then it throttles down the frames, so the CPU is kept from scaling.My 'threory' and this is PURELY speculation, is that FSX does a terrible job doing frame limiting. I think its simply (in the background) allowing the sim to produce a HIGH number of frames, and the CPU is way ahead 'preparing' them, but ONLY sending 25 FPS for the GPU to render.
That still doesn't explain why the FSX is loading textures slower when CPU is throttled. Let's take it for a second you are right, and CPU is kept from scaling. Meaning in this case, not only frame rendering is being scaled, but also all other operations. Like texture loading, which I guess also have go through the main scheduler and sent to the texture loading on core2/3. I'm only guessing here...In my theory, of course, unlimiting FPS yields much more CPU usage. But if limited, then FSX can use more of that CPU time for other operations. Now, I did already a simple test: all settings down in FSX. Nothing else changed from the internally limited situation, which was just now causing full CPU at 30fps with PMDG747, I changed to Cessna, sit at the same airport and voila: it's wonderously going between and around 60-70%, spiking from time to time to 100%, but I just run a Process Monitor, and it's not coming from FSX.So anyway, due to this last test, I can see that CPU usage does drop down when you offload the FSX through settings and what not. And with external limiter, you would hardcap everything, which is why I (and probably many others) are gonna get blurry textures, depending on other settings too, but definitely with high IQ...

Share this post


Link to post
Share on other sites
That still doesn't explain why the FSX is loading textures slower when CPU is throttled.
Ahh.. good point :) thats because, when using Limited frames, there are two hidden variables that come into play... :) they are:[MAIN]MIN_FIBER_TIME_SEC=MAX_FIBER_TIME_SEC=They change how the FIBERS interact for each frame rendered, instead of % allocation, with TIME allocation (in milliseconds) MIN and MAX play with those and see if you notice any change.One more thing.. IF running UNLIMITED frames, the best way to compensate for blurries IS increasing FFTF, however, thois also induces some stutters as you have probably noticed.

Share this post


Link to post
Share on other sites
Ahh.. good point :) thats because, when using Limited frames, there are two hidden variables that come into play... :) they are:[MAIN]MIN_FIBER_TIME_SEC=MAX_FIBER_TIME_SEC=They change how the FIBERS interact for each frame rendered, instead of % allocation, with TIME allocation (in milliseconds) MIN and MAX play with those and see if you notice any change.One more thing.. IF running UNLIMITED frames, the best way to compensate for blurries IS increasing FFTF, however, thois also induces some stutters as you have probably noticed.
I did play with high FFTF, as high as 0.99 and even tried 1.0, buuut... that didn't have any reasonable effect on texture loading, it would just *appear* they loaded a little quicker, but eventually, engine would run out of gas. When I would press Pause, I could observe highres textures loading...As I said previously, I might be completely wrong with the whole CPU deal, but that is just how it appears to me.This goes over my technical knowledge, right now with this Fiber Time I wouldn't even know where to begin.One another thing: I tested on clean fsx.cfg + BP=0/HIGHMEM tweak only, internal vs external. I could observe stuttering on external, and very much less stuttering on internal. Now, I have no idea why is that, but that's the way it's here. As my FPS problem also appear to be solved, I think I'll close it with this one. Would be useful if we could take this tweak along with others, just for people to know and try, maybe some will find it good, as I do.

Share this post


Link to post
Share on other sites
I did play with high FFTF, as high as 0.99 and even tried 1.0, buuut... that didn't have any reasonable effect on texture loading, it would just *appear* they loaded a little quicker, but eventually, engine would run out of gas. When I would press Pause, I could observe highres textures loading...
Word Not Allowed, I'm as puzzled as you are when it comes to FSX performance limiting frames vs running unlimited+FPS Limiter and unless we have some official explanation from MS as why this is, the mistery will continue :)I'm happy running unlimited and using FPS Limiter... oh, and one more thing.. if you want to even out the load for the texture managers, you can add this:[sCENERY]MAX_ASYNC_BATCHING_JOBS=2 // (default is 1 MAX is 4)should match the number of texture/terrain managers

Share this post


Link to post
Share on other sites
Word Not Allowed, I'm as puzzled as you are when it comes to FSX performance limiting frames vs running unlimited+FPS Limiter and unless we have some official explanation from MS as why this is, the mistery will continue :)I'm happy running unlimited and using FPS Limiter... oh, and one more thing.. if you want to even out the load for the texture managers, you can add this:[sCENERY]MAX_ASYNC_BATCHING_JOBS=2 // (default is 1 MAX is 4)should match the number of texture/terrain managers
At least we got some things to try out! And yeah, I read about that on some other thread. I'll try it, thanks!

Share this post


Link to post
Share on other sites
Word Not Allowed, I'm as puzzled as you are when it comes to FSX performance limiting frames vs running unlimited+FPS Limiter and unless we have some official explanation from MS as why this is, the mistery will continue :)
I think we are all stuck in the same spot... and I also prefer to run Core0 at 40% rather than 100% for the same visuals.But, what I have learned (one more time) is if you dial back the load a bit, the fluidity takes a leap forward!And that, makes a big difference in my "as real as it gets" flying enjoyment :(

Bert

Share this post


Link to post
Share on other sites

I use FFTF 0.33 here. I just tried FFTF=0 and got lots of blurries. Can't use it.FWIW.


Alvega

CPU: AMD 7800X3D | COOLER: Cooler Master MasterLiquid 240L Core ARGB | GPU: RTX 4070 TI Super 16GB OC | Mobo: ASUS TUF GAMING X670E-PLUS WIFI |
RAM: 32 GB Corsair Vengeance RGB DDR5 6000MHz PC5-48000 2x16GB CL36 | SSDs: WD Black SN770 2TB NVMe SSD (WIN11), WD Black SN850X SSD 2 TB M.2 2280 PCIe Gen4 NVMe (MSFS), Crucial MX500 2TB (Other stuff) | CASE: Forgeon Arcanite ARGB Mesh Tower ATX White | Power Supply: Forgeon Bolt PSU 850W 80+ Gold Full Modular White 

Share this post


Link to post
Share on other sites

I find it best, especially when using the EXTERNAL LIMITER, to use a Pre-Render of 1 from the default of 3. This really will balance out your CPU/GPU balance. Reason being is with a a pre-render of 3, your CPU will render 3 frames ahead BEFORE sending it to the GPU. So if set at 1 it is a more even swap of information going to the GPU. This probably will not be of any help if the CPU or if the GPU are not a good match as far as the speed information is transfered. If they are of even performance then the GPU will get frames sent to it on a one for one exchange with a pre-render of 1, which the benefit of it will be seen more in heavy scenery areas. In a heavy area with a pre-render of 3 it is like asking your CPU to do 3X the work and in the heavy areas that is just too much at times for the CPU to handle. Pre-render 1 will help smoothe that out. As always YMMV but I have personally seen benefit of this on 2 different systems so I feel it has merit and worth the try. Also I find it best to set the FPS Limiter to 28 FPS as the limiter seems to like to go a few frames higher. When it goes over 30 that is when I see a stutter. Setting it to 28 or lower gives it a little bit of extra smoothness. Jim


Jim Wenham

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...