Sign in to follow this  
Noel

Anyone have a solid answer to this puzzling question? It's a bit long...

Recommended Posts

I've witnessed this since the dawn of FSX SP2 maybe I don't recall and it permits in P3D.   System specs in short:  3930K@4.422Ghz, 32Gb DDR-3@2400Mhz, GTX Titan original flavor at +60 on the core & memory clocks, fan set at whatever it takes to keep the core maxed, which at ambient here is around 65% of full speed using Inspector's overclocker.

 

In the example below I will typically have LOD radius maxed, tessellation maxed, scenery complexity Very Dense i think it is, Autogen at maybe Dense, and veggies Normal.    GPU settings:    what most people use I think.  I'm not at the sim now and haven't looked for a while , but in general since V3.0 P3D I have used SGSS4X much less unless flying in nice weather and less complex areas, and I have excellent image quality and texture update rate.

 

My default setting w/in P3D is always to lock frames at 30.  This works overall quite well for the smoothest flight for me.   At my commonly used regional airports in FTX NCA/SCA scenery in the Dash 8 I'm often hovering around 29.5fps or so.   GPU utilization will often be 60-90% depending on a few parameters in Lighting.   If I'm in a low GPU demand area hovering around 65% utilization, but then change over to UNLIMITED frames, utilization goes up to 99%, which assume has to do w/ asking the GTX Titan to crank out as many frames as it can, so this seems expected to me.

 

As I'm flying into dense metro areas like KLAX/KSFO, my frame rate will creep lower and lower to I"ve seen as low as 12fps in spots, but more normally 14-16fps in the Dash 8 in heavy weather, in my default configuration of limiting frames to 30/min.   And you don't get smooth any longer at this frame rate because you can see each frame, even if they're spaced perfectly, you understand.

 

Here's the weird part I don't understand:   if I now unlock frames, that 14-16fps goes up fairly quickly to 23-26fps in the same area, and yet visually/image quality stays the same.   CPU utilization is always close to maxed in either of these situations, unlocked or locked frames.   As I'm getting out of KLAX flying over the hills towards KLAS frames climb up and up as the scenery thins, up into the 50-60fps range.

 

So one might ask, why not always run unlocked?  Well, two reasons.   If locked, you can definitely increase GPU-dependent slider settings, no question, as you pick up resources that were being used to create more fps.   And two, in general I find it's a little smoother, unless you're flying into those big terminals, and then the slow frame rate trumps any decrease in total smoothness that happens when go change to unlocked.

 

I've experimented w/ locking frames at 60, but frames are right back to what they are when locked at 30:   14-16fps, so that doesn't work.    What is happening when you lock at 30 you get 14-16fps, and unlocking gets double, with CPU utilization staying the same in this scenario?    GPU utilization w/ frames locked at 30 might be 70% in this scenario, whereas unlocked of course up at 99%.   There are situations where you unlock and don't get quite the near doubling, but it's more common that not w/ my configuration.

 

I wish there was a utility that would modulate this in real time according to user preferences!  Maybe there is now?

Share this post


Link to post
Help AVSIM continue to serve you!
Please donate today!

I find no downside to running unlocked.  Maybe because I have an older machine so need to squeeze out every frame I can get but I too notice very low frames at some parts of the flight....usually on the ground and with overcast.

  • Upvote 1

Share this post


Link to post

I believe the problem starts when you use FPS as your criteria for "success". Most posts that I read say their sim is "nflyable or stutters badly at xyz FPS, etc.

 

P3D is a different animal. You really MUST tune your install to get the SMOOTHEST operation and IGNORE the FPS.  Each system is different but I have my FPS locked at 20. It will lock at 30 to but , on my system, there is NO difference visually so why waste the processing power?

 

Try tuning your system to get the smoothest operation at the lowest FPS possible rather than trying to get the highest FPS possible. That is ultimately a losing battle.

 

Vic

Share this post


Link to post

I believe with FSX and P3D, the built-in framerate limiter is used to devote more time to terrain rendering. In FSX, if you ran unlimited FPS and had your sliders maxed and were running detailed scenery, you would almost certainly run into the "blurries" issue where terrain would look blurry especially if flying something fast like a jet because the sim was prioritizing framerate over anything else.

 

Now I've noticed P3D is much more capable of staving off the "blurries" with unlimited FPS set even with OrbX regions and airports etc. Because of this, I now run unlimited FPS because it really helps to claw back every FPS when running complex aircraft with AI traffic and good scenery.

Share this post


Link to post

You are missing the key point that Vic made. Forget FPS. Means nothing as long as the animation is fluid.  My pushing frame rate you are denying the processor valuable time to create scenery.

Share this post


Link to post

I find the worst thing one can do is to turn  the FPS counter on. I leave it off, it's smooth, doesn't stutter, and I am a happy simmer. 

  • Upvote 2

Share this post


Link to post

P3D is a different animal. You really MUST tune your install to get the SMOOTHEST operation and IGNORE the FPS.

 

You can't IGNORE the FPS when it's the cause of a veritable slide show.   That logic may apply if you never get down to late level of low FPS.  When you're down to 14-16 smoothness starts getting trumped by the low frame rate as it becomes an unequivocal slide show.  In fact what had me finally reminded me I used to run unlocked always was frames dropped down to 10-12 fps shortly after take off at KLAX and turning east over the city.   I have nice equally spaced intervals between those low frames so it's not a lack of 'smoothness'.   So I unlock, and up to 23-24 or in the very same area, and the video is unquestionably far superior.  I might, not sure now, give a slight edge to locked frames once you're above critically too few FPS.  But I'll have to take a closer look.  It may have been a red herring that locking frames in one choppy area of flying one day for me over a year ago lead me to lock frames an notice an improvement.  The choppiness may just have been an overtaxed GPU at that moment.  

 

I believe with FSX and P3D, the built-in framerate limiter is used to devote more time to terrain rendering. In FSX, if you ran unlimited FPS and had your sliders maxed and were running detailed scenery, you would almost certainly run into the "blurries" issue where terrain would look blurry especially if flying something fast like a jet because the sim was prioritizing framerate over anything else.

 

Now I've noticed P3D is much more capable of staving off the "blurries" with unlimited FPS set even with OrbX regions and airports etc. Because of this, I now run unlimited FPS because it really helps to claw back every FPS when running complex aircraft with AI traffic and good scenery.

This is the most plausible explanation I've read so far on this.   I've posted on it years ago.   I run a hexacore processor and despite SteveW's recommendation for P3D, at least the last time I read this, I use an affinity mask of 4092, and with it all virtual cores are working aggressively when needed which is most of the time now, and it shows in not only visuals, but also in CPU temperature as a surrogate for work being performed,

 

I guess maybe it's time to try unlocked again as a default setting.  I may have been fooled w/ smoother performance using locked frames because the area I was in unlocked was taxing the GPU much more leading to it's own form of stuttering, from overtaxing the GPU, and at the time I was not monitoring GPU utilization.   

 

With the affinity mask I use I get the same excellent terrain texture loading regardless of whether or not frames are locked.  Which is why I would like to know what other magic is in unlocking frames so that I could lock them at 30 or so, AND NOT LOSE THAT BENEFIT :o)  Therein lies the mystery!

Share this post


Link to post

Locking frames is not actually limiting frames, the simulator is building look ahead frames all the time. Despite what some say you need double the frame rate in Unlimited to sustain the Frame lock, more would be better. Why? Because even just losing one look ahead frame to instability means it takes a long time to catch up. Especially if it's pushed to the limit there's no time to rebuild frames so it won't work as intended and you get the slowing of fps.

 

 

Have a look at 340 and 4052 6core+HT:

 

AMTESTS_12LP_P3DV3.jpg

 

4052 improves the loading performance but not the rendering performance, 340 produces the shortest line look at fps-Delta. Main thing is to keep your addon exes off of the first two cores used by the sim, and give the first two jobs of the sim a core each.

Share this post


Link to post

My observation with using FTX world products, Vector, Global, OpenLC regions, is scenery is a blurry mess in patches even with high fps in cruise (30-40 or more) due to their new unified landclass system. I must select frames to unlocked or else locked at 30 or so means blurries.

Share this post


Link to post

Locking frames is not actually limiting frames, the simulator is building look ahead frames all the time.

 

Locking frames is definitely keeping some part of the rendering system from being busier than it needs to be.  I assume that is the explanation for why it is when I lock frames at 30 I can run GPU-related sliders higher and still keep GPU Utilization at under 100%.

 

The improvement that happened today changing from locked at 30 to unlimited was really significant.  I mean from a steady 14 fps up to 23 and amply fluid.  Can't argue with that.

 

The AM of 4092 and unlocked frames seems best right now.   That's what had me at a smooth 45 fps maybe 15 miles out of KLAS in the NGX today and had fabulous terrain texture update rate and never went below 24 fps after touchdown, and that is markedly better than locked at 30 as I've had it for well over a year now.   I guess your graphs illustrate deterioration of frame performance over a couple of hours, is that what it is saying?

Share this post


Link to post

Is 4092 for a HT chip or non HT chip ?  What would it be for an i2500K (No HT) ?

Share this post


Link to post

Can your monitor run 25 or 30HZ ? Setting unlimited FPS with VSYNC ON and adapting your graphic settings to this -  is pretty smooth

 

Michael Moe

Share this post


Link to post

Unlimited and VSync on limit the fps at the monitor refresh, Locked does not stop trying to build look ahead frames until the buffer is full. With high settings it can't work unless there is headroom available. So choose unlimited and vsync on. Triple buffer can reduce the overhead you can have available. Overhead requires you set your sliders more left!

 

The graphs light blue line shows the actual performance capability of the renderer. Adding more than four LPs increases the speed of the loading up to a point, after which it only reduces the loading speed and the rendering performance.

 

4092=11,11,11,11,11,00 on the right two zeros show the sim won't be running on those, but it is running on every other LP. Next coming in from the right you have two ones, showing that the sim will start it's two primary jobs on those two LPs each happen to be the same core, and so mathematically speaking this setup has no chance against one whole core each as in 4052=11,11,11,01,01,00

 

You can see the first two ones exist on a core to themselves they are responsible for rendering. The others can exist on cores together since they are data gathering not rendering, these jobs take seconds to complete. You can't muck the renderer about in the same way. The data gatherers can exist on the same core but they share bandwidth of the core. Your AM put's two primary jobs to share a core.

Share this post


Link to post

I actually found turning Vsync = OFF is very beneficial in the sim.  You get more frames on unlimited and  unless you move your view very quickly there is no tearing.  Right now I have AM excluded from my P3D.cfg and exclude all external programs from core 0 and 1 using the free version of Process Lasso.

Share this post


Link to post

Right now I have AM excluded from my P3D.cfg and exclude all external programs from core 0 and 1 using the free version of Process Lasso.

That's exactly what one should do with four cores no HT, perfect.

 

So with four cores no HT and no AM naturally enables all four cores, and we keep those exe apps off of cores 0 and 1 since they don't hurt those data gathering jobs so bad as they would the rendering jobs on 0 and 1. With HT enabled the equivalent would be 170 or 85=01,01,01,01 four jobs on four cores, and those other apps continue to be kept away from cores 0 and 1 (LPs 0,1,2,3). With the magic of HT we can now allocate more LPs to split the data gathering jobs in half and can drag more data to the sim without losing cycles AM=245=11,11,01,01 - see how there's two jobs per core on cores 2 and 3 (LPs 4,5,6,7). You gain in scenario load time (use a stopwatch), but it doesn't mean the rendering section will have less of a hard time.

 

Different monitors, cables, and GPUs mean we must experiment to get the best results. I have a 59Hz monitor, Display port, Fixed 19fps and the sim can maintain >40fps with unlimited set.

 

...With faster on-screen action aircraft, I prefer to use 24 or Unlimited and reduce eye candy.

Share this post


Link to post

SteveW always has the best explanations, but in the end the reason I think it's so hard to pin down what works in that it is a completely dynamic situation where several resources become stressed at different times, so there is no one fix for all situations.  This is why I keep harping on a realtime app that can manipulate all the variables at play to deliver an optimal outcome based on what particular users value.  I guess the problem there is there are some variables that can't be changed on the fly as it were, pun intended.

 

While I'm here, I've held off on updating P3D from v3.0 since 9/2015 when I think I first upgraded.  If anyone knows, have subsequent releases fixed the big performance impact one can get in certain types of clouds?  This is a GPU killer and I guess has something to do w/ antialiasing being applied to the cloud textures in a way that is tough on resources and maybe doesn't add much to the finished visuals.  That might be a reason for me to upgrade, but I'm trying to hold off until P3D releases their alleged major change this year.

Share this post


Link to post

Just in case there's any doubt about what i'm saying about HT, here's section 6.2 from the Windows platform design notes:

 

 

"6.2 Improving Application Performance on Hyper-Threading-Enabled Systems

 

In general, multithreaded Windows applications perform better when running unmodified on an HT processor than they do on a similarly equipped single-threaded processor. To optimize the application performance benefit on HT-enabled systems, the application should ensure that the threads executing on the two logical processors have minimal dependencies on the same shared resources on the physical processor. With an understanding of how the application threads and processes utilize the shared resources on an HT processor, setting processor affinity to minimize competition for these system resources can help application performance."

 

 

Here's the section of the P3D documentation on what P3D does with core count:

 

"By default, Prepar3D will use all available processor cores. On machines with four or more cores, it will dedicate a core to rendering tasks. The easiest method for modifying the affinity mask is to open the windows calculator in programmer view, select the binary display mode, and flip the bits in the binary number displayed to select which cores the application should run on. Note that the cores are represented right to left."

 

 

When we examine what we get with four or more Logical Processors the main rendering task is at its leanest as it says in the docs there. Why would we then want to allow the second job to run on the second LP of that core as it would have to share it? We wouldn't is the obvious answer. We can do better moving job two along to the next whole core. Job two is the least active task of the four, the third and fourth jobs are data gatherers. If we allocate more than four LPs we get the background tasks in those data gatherers splitting up. We can allow that on those cores because we are not so fussy about when they finish. Even so when those are split there's more for those first two jobs to manage.

 

 

This theory indeed pans out when we have a good enough system to take accurate values from the simulator with essentially a repeatable test method.

Share this post


Link to post

Why would we then want to allow the second job to run on the second LP of that core as it would have to share it? We wouldn't is the obvious answer.

 

What's counterintuitive is when I look at 11,11,11,01,01,00 it makes me think only half of core 2 and 3 are available, whereas w/ 4092 both LPs are available in each core.   My sense was each LP stays separated work-wise from it's partner.  But I don't profess to understand any of it in any depth other than to get me in trouble!

 

I did try 4052 a little while ago and it seems the same as 4092, which is great, so hopefully it's a little better ;o)

 

What do we have to look forward to for highest end systems for this activity in 2017?  I may do an upgrade this year if the performance improvement is worth it as it's been almost 5y now and still going pretty strong.  Is SLI now a good idea w/ P3D?  What's the best 6+ core processor we have coming along that is OC friendly?

Share this post


Link to post

Remember that when you see both LPs on a core showing 100% each you know that they are both actually at 50% each. Certainly it's a difficult set of concepts to grasp no shame in finding this stuff counterintuitive.

Share this post


Link to post

no shame in finding this stuff counterintuitive.

Amen to that! Speaking as one with an 8-cored cpu, and best performance experienced with HT off and an AM 21760 (discovered by accident and, for whatever reason, appears to 'randomise' the core allocation for the main P3D thread each time the sim is started) which goes against everything we are taught, I couldn't be happier. Totally illogical and yet, for me, it works. For months now nothing has happened to persuade me to change and Steve knows I have tested extensively using other configurations. Strange beasts computers, no two are ever exactly alike.

 

Mike

Share this post


Link to post

I wouldn't necessarily be cautious about that. Odd sounding results can often be indicative of some other situation overruling the outcome, not necessarily for the worse, perhaps a maximum reached in some part of the system maybe. Or for example better performance with HT disabled could mean some kind of double spawned code when HT is enabled, a possible undesirable consequence of HT I mentioned before. The double size overspilling AM value does seem to cause the jobscheduler to allocate in an odd way rather than simply round-robin but I'm sure there will be some logic in it.

Share this post


Link to post

Well, I'm tickled.  I'm seeing much better total performance, and it was decent before except in spots.  The key was mostly going back to unlocking frames, but maybe the 4052 is even better too early to tell.

Share this post


Link to post

Wow, 4052 w/ unlocked frames has hugely improved even the worst situations in very significant ways--thanks!  No need for hardware upgrade at all, at this point in time ;o)  Thanks!

Share this post


Link to post

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