Boeing100

P3D V4 - Can't get rid of microstuttering

Recommended Posts

Hi All

I've watched countless "settings" type videos and posts to try to optimize P3D V4, however no matter what I try, can't seem to get rid of micro-stutters

I've even tried to put all sliders to the left and increase them one by one to find the underlying issue, but it's still there.

The FPS counter can't seem to hold steady as it moves from 10 to 40 and back all the time. I have a G-SYNC monitor and have tried both V-SYNC on/off and locking the FPS to 30 but it has no effect.

What I also find surprising is that moving all the sliders to the right doesn't have a massive impact on the max FPS I can get.

My specs are below

Intel i7 - 6700K @ 4.00 GHz
16.0 GB RAM
GTX 980

Any ideas on what I could do to help make the FPS smoother? Is there something in Nvidia Inspector perhaps?

Many thanks

 

Share this post


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

What's your Sim settings? What add-ons if any do you use? I left my frame at unlimited. 4xSSAA, reasonable draw distance and I don't have stutters.

Share this post


Link to post

In terms of Add-ons, I usually use the below

*Flytampa EHAM - I love this airport so tend to use it as my homebase
*PMDG 747 V3
*ORBX Global
*ORBX Open LC Europe
*Active Sky 

I've tried with smaller aircraft like the A2A C172 in default airport and results are still similar.

In terms of settings, I use 2xMSAA, FXAA on, Anisotropic 2x and Ultra Texture Resolution. My Resolution runs at 3840x2160 as I have a 4K monitor. I've already tried reducing this to Quad HD or FHD, and even switching to 30hz, but again , no noticeable difference in FPS
 

Share this post


Link to post

I do not have V4 yet but Nvidia Inspector was causing stutters for me in V3...

 

Share this post


Link to post
2 hours ago, papab said:

Also,try this thread in this forum:

Rick

Thanks, I did check however there is no option for me to select 59 Hz in the Nvidia control panel. It's only 60 or 30 - have tried both and made no difference

Share this post


Link to post

At this point, you'll need to get a "baseline":

1.  Remove any overclocking (both GPU and CPU)
2.  Back track and start with a fresh/clean install of V4 with NO add-ons.
3.  Reset NCP to default via "restore" (do not use NI)
4.  Turn all the graphics settings down to their lowest
5.  Use FRAPs (do NOT record video only timeframe data) logging tool to capture timeframes
6.  Select EGLL airport
7.  Do a pattern loop around EGLL (make sure you keep it around 250 KTS) - note markers so you can easily repeat the test

Use FRAFS to view the recorded FRAPS data, look for any timeframe data >40ms, if you find some data points above 40ms (your average FPS should be around 200-250 for this test), then you have a problem with your hardware/driver/OS or something else is running in the background.

Check that you have the latest Intel Chipset drivers installed (motherboard's web site).  Check your Device Manager and make sure you don't have any "!" exclamation points on any items listed (expand them all).  Also confirm you have the latest BIOS version for your MB.

Bring up your Event Viewer and make sure you don't have any red "X" warnings, if you do, resolve them (this will take some Google searches to find out how to resolve).

Now manually download nVidia's latest drivers, next step is to use DDU to remove your video drivers, then "run as admin" on the latest nvidia drivers to install.

The ONLY REASON I'm suggesting this long process is because you've indicated you turn all graphics settings to min and still had stutters ... if that is NOT the "real case" (people often exaggerate what they've actually done when trying to resolve an issue, don't take it personally), then do items 1-6 first and report back with your FRAPs data and/or FRAFs screenshots.

Cheers, Rob.

 

  • Upvote 1

Share this post


Link to post

I was totally perplexed as to why I was getting such horrible stutters with V4 until this past weekend when I reset my Inspector Prepar3d profile to the default settings, and under my Nvidia control panel changed my V-Synch from adaptive to just "on". After changing the V-Sync setting, I can now run the game stutter free on my GTX 1070. Previously, I had really bad microstutters like you had described. Also, with V3 I seemed to get the smoothest performance by using Inspector to limit my frame rate to 30 frames per second, but with V4 I seem to get better performance by leaving this setting off, and have the V-Sync turned on within Prepar3d, with tripple buffering enabled, and the ingame frame rate set to unlimited.

Share this post


Link to post

Try using monitoring software like:

http://www.cpuid.com/softwares/hwmonitor.html

Run your P3D windowed and run the monitoring software. While flying you should be able to see how taxing you are on you GPU and CPU

Your CPU core 0 will consistently be running be running 90-100% the other cores will jump around depending on whats going on inside the sim.

This is a very informative topic with a very helpful reply from Beau Hollis

http://www.prepar3d.com/forum/viewtopic.php?f=6315&t=124932

Adjust your graphic setting until you get your GPU averaging in the air around 60-70% it will momentarily jump here and there to 100% (that's ok)

At this point you will know that your GPU is not being overtaxed. You will need to make CPU bound settings to affect your frame rate and your stutters.

Personally limiting frame rates with the slider inside of P3D induces stutters for me. I limited my frames to 30 with running my monitor at 30hz with Vsync, triple buffering and the frame rate slider set to unlimited inside of P3D.

Share this post


Link to post

Rob, loafer87gt and laserit, thank you all for your suggestions, looks like I have a lot of homework to do.

Will test this out asap and come back to you

Share this post


Link to post

Boeing:

I would definitely suggest following Rob's process, but FYI as another possibility I have found that my 6700k (same chip as yours... HT on) still responds to an affinity mask setting of 85 (i.e. running P3D only on the physical cores, not the virtual ones) to eliminate stuttering.  It is very reproducible - with anything other than 85 (including default), I get stuttering; when I change the AM in the config to 85, stutters gone.  The stutters I saw were big ones though, every second or two.

I suspect this is because I am also running Trackir, Spad.next and Active Sky and there is a conflict there between one or more of those add-ons and the P3D threads (had this same problem in v3), but I have not gone through a controlled process to test with and without to find the true culprit.  Since for me the sim is extremely smooth and fast with that AM=85 setting, I would rather fly than tweak at the moment.

If you still see stutters after running through the process above, you may want to try it.

Also, I have a G sync monitor and I run unlimited frames and vsync/triple buffering off both in the sim and in Nvidia Control Panel.

 

Share this post


Link to post
2 hours ago, PurdueKev said:

Boeing:

I would definitely suggest following Rob's process, but FYI as another possibility I have found that my 6700k (same chip as yours... HT on) still responds to an affinity mask setting of 85 (i.e. running P3D only on the physical cores, not the virtual ones) to eliminate stuttering.  It is very reproducible - with anything other than 85 (including default), I get stuttering; when I change the AM in the config to 85, stutters gone.  The stutters I saw were big ones though, every second or two.

I suspect this is because I am also running Trackir, Spad.next and Active Sky and there is a conflict there between one or more of those add-ons and the P3D threads (had this same problem in v3), but I have not gone through a controlled process to test with and without to find the true culprit.  Since for me the sim is extremely smooth and fast with that AM=85 setting, I would rather fly than tweak at the moment.

If you still see stutters after running through the process above, you may want to try it.

Also, I have a G sync monitor and I run unlimited frames and vsync/triple buffering off both in the sim and in Nvidia Control Panel.

 

Good morning PurdueKev

Many thanks for this, I tried and can confirm the stuttering is nearly completely gone now!

I've set affinitymask to 85, turned off vSync in P3d and NCP with FPS set to unlimited ( I also have a G SYNC monitor). My FPS is now more stable between 35-40fps, even using heavy 3rd party add-ons likes the PMDG 747 at EHAM.

However I do have a follow up question if you don't mind. My total CPU utilization in task manager is around 48%, but looking at the individual cores, cores 1, 5 and 7 barely have any load while core 0 is near 100% and cores 4 and 6 around 90%. So it seems to mean the majority of the CPU load is being taken up by 3 out of the 8 cores. Would you know if this is normal behavior? Does it have to do with HP? I've never disabled hyperthreading so assumed it must still be on (no specific menu I can select in my BIOS)

Many thanks

  • Upvote 1

Share this post


Link to post

It is the idea of this affinity mask setting to prevent P3D using the HT "cores" but only use the physical cores. "85" translated into binary simply means "(0)1010101" thus only those cores with a "1" should be loaded by P3D.

Share this post


Link to post

thanks AnkH

I've just launched a flight and am in climb out phase just now. What i'm noticing is a huge improvement in FPS/stuttering, however now I seem to be getting a case of blurries. My LOD radius is set to highest, and didn't get any blurries prior to setting the affinity mask. Is this a know issue and is there another tweak I need to put in place to reduce it?

Share this post


Link to post

If you reduce settings with AM, then it can introduce blurries as workers loading scenery cant do all their work. I manage this in v3 and v4. So I keep my HT on, and using AM 253, that first core is not taxed by thread core. It works best for me

To OP, at first runs, I had micro stutters. I'm on 4k and GPU is under full load, I set frame limiter and have better results. Then I find that buildings shadows casuing perf. hit - turned off. Last try was use of external FPS limiter - I used NI and 35FPS lock. I can't say that I'm fully stutters free, but it mostly solves all stuttering for me. That external FPS limiter was little surprising. When I set 35FPS in P3D, core 0 goes 100% mostly all day long, with external limit of 35FPS core 0 load is around 70-80% with same scenario. In all cases I have VSync on with triple buffering.

At least worth to try. My P3D profile is absolutely default except that frame limiter and AFx16 which I have set as default for all 3D apps.

Share this post


Link to post
1 hour ago, Jiri Kocman said:

If you reduce settings with AM, then it can introduce blurries as workers loading scenery cant do all their work. I manage this in v3 and v4. So I keep my HT on, and using AM 253, that first core is not taxed by thread core. It works best for me

To OP, at first runs, I had micro stutters. I'm on 4k and GPU is under full load, I set frame limiter and have better results. Then I find that buildings shadows casuing perf. hit - turned off. Last try was use of external FPS limiter - I used NI and 35FPS lock. I can't say that I'm fully stutters free, but it mostly solves all stuttering for me. That external FPS limiter was little surprising. When I set 35FPS in P3D, core 0 goes 100% mostly all day long, with external limit of 35FPS core 0 load is around 70-80% with same scenario. In all cases I have VSync on with triple buffering.

At least worth to try. My P3D profile is absolutely default except that frame limiter and AFx16 which I have set as default for all 3D apps.

thanks, which external FPS limiter do you use out of curiosity?

Share this post


Link to post
7 minutes ago, Boeing100 said:

thanks, which external FPS limiter do you use out of curiosity?

As I mentioned above, I use NI to set frame limit to 35FPS.

I do not see difference in smoothnes when internal frame limiter is in use, but CPU core 0 usage is lower when flying over areas where my rig can achieve more FPS without limit, which I can uderstand as there is less demand than HW is capable, but I do not know why I do not see same behavior with internal FPS lock.

There is some prove at 2:57 you can see cores load and then NI profile, around 6:15 you can see my P3D settings.

 

Share this post


Link to post

Stutters here with FPS locked at 30 and or VSYNC on.  Smoothe with No VSYNC / Unlimited.

 

Cheers

bs

  • Upvote 1

Share this post


Link to post
7 hours ago, Boeing100 said:

thanks AnkH

I've just launched a flight and am in climb out phase just now. What i'm noticing is a huge improvement in FPS/stuttering, however now I seem to be getting a case of blurries. My LOD radius is set to highest, and didn't get any blurries prior to setting the affinity mask. Is this a know issue and is there another tweak I need to put in place to reduce it?

http://www.prepar3d.com/forum/viewtopic.php?f=6315&t=124932

 

Postby Beau Hollis » Mon Jun 05, 2017 12:22 pm

1) If they are all the same speed, more is always better. Prepar3D can and will use all cores.
2) The speed of the primary core will be the determining factor FPS assuming your settings have you CPU-bound. For raw FPS, less cores at a higher clock will yield better results. On the other hand, more cores will improve the speed at which new terrain textures, and autogen data load in. Maxing out the new draw distance and terrain resolutions setting will request several times more data than v3 was able to. When paging performance isn't fast enough to keep up with flying speed, you will get blurry textures, models popping in, and reduced autogen draw distances.
3) We create a job queue per core (including HT cores). Background jobs do tasks like generating textures and loading terrain data.
4) More is always better. You'll need to check with each add-on provider for guidance on memory/GPU usage.
5) This really depends. Generally speaking it's simulation and rendering work. Cranking up traffic and using a heavy VC models with lots of draw calls will increase your work load quite a bit for example.
6) Not sure of the exact order here but the heaviest hitters are Dynamic Reflections, Shadows, Dynamic Lighting, Ultra Water (3D waves) and anti-aliasing.
7) This determines how many scenery model placements draw. Rather than using a percentage like autogen does, scenery models are tagged by the scenery dev as to which scenery complexity level they should draw in. For this reason, this setting can be very dependent on how add-ons are built. If an add-on really wants you to see every model, they may flag them all to show up on the lowest setting.
8) These setting are heavy hitters because they require rendering many additional 3D views which are sampled for creating shadows and reflections. 
9) This is happening because the textures haven't loaded in yet. We have a ticket to look into improving this. You might be able to improve this by tweaking some texture entries in the Prepar3D.cfg. I believe there is a bandwidth multiplier used to determine the number of textures per frame that can be streamed to the card. Increasing this might speed up texture loads at the cost of potential stutters on frames where large amounts of texture data are streamed.

  • Upvote 1

Share this post


Link to post

In addition to what Beau has provided (Beau is the lead graphics developer and probably has the most experience with ESP code base so his comments are extremely valuable).  Item #6 in Beau's list is golden.

 On my 8/16 core PC (5960X and 6900K) and specific to P3D V4, keeping HT enabled and using all cores (physical and logical) except core 0/1 seems to work reasonably well especially if you have other processing that might be happening on Core 0/1 (i.e. TrackIR, nVidia video recording, SODE, UTLive, etc.).  

[JOBSCHEDULER]
AffinityMask=65532

FYI, I know there is some discrepancy to this information, but how I reference a CPU (same as how they are referenced in TaskMgr) ... 

5960X is ONE Physical CPU

5960X contains 16 logical processors when HT enabled

5960X contains 8 logical processors when HT disabled

5960X is referenced as 8C/16T when HT enabled ... 8C (cores) 16T (threads) capable of operating 16 execution threads at the same time (Asynchronous) ... in the programming world Synchronous means you execute one operation at a time and wait for the results before doing another operation (it's a little counter intuitive) ... Asynchronous means you don't wait for the operation to complete before doing something else.

I think the best way to reference a CPU and it's cores is to follow Intel's guide

7700K 4C/8T HT enabled

7700K 4C/4T HT disabled

3960X 6C/12T HT enabled

3960X 6C/6C HT disabled

6900K 8C/16T HT enabled

6900K 8C/8T HT disabled

5960X 8C/16T HT enabled

5960X 8C/8T HT disabled

Affinity Mask Calculator

I haven't tested AffinityMask settings on my 7700K yet.  But I highly encourage anyone using P3D V4 to experiment with AM settings.  The goal should be to balance out your CPU and GPU ... pegging either one or both at 100% is going to cause stutters.  The Lower you operate your monitor Refresh rate, the less stutters you'll have as you don't need to sustain higher FPS.

Also be aware that location and speed of travel will (and should) cause your CPUs to work very hard and you should see their work loads go up considerably ... 500 KTS flights (at 2000 ft) will produce drastically different CPU loads than 100 KTS flights.

In addition, as you increase Autogen draw distance and/or density AND you have Shadows for either or both enabled, you're increasing you GPU load considerably due to the additional shadows that must be rendered for the increase in Autogen.

For night time flying with Dynamic Lights enabled at airport in a complex aircraft like PMDG 747/777 that has DL lights, turn off Building, SimObject, Terrain shadows, keep AG at normal/medium (including draw distance), turn AA to either 2XSSAA or 2XMSAA (pending GPU loads and resolution).

There are many handy utilities to see your GPU loads that will display while flying (EVGA Precision X) and CPU loads (taskmgr is built into your OS).

The only thing I can assure you that with current hardware, MAX everything with a bunch of add-ons is only going to lead to FPS frustration and lots of stutters.

Cheers, Rob.

  • Upvote 3

Share this post


Link to post
17 hours ago, Boeing100 said:

Good morning PurdueKev

Many thanks for this, I tried and can confirm the stuttering is nearly completely gone now!

I've set affinitymask to 85, turned off vSync in P3d and NCP with FPS set to unlimited ( I also have a G SYNC monitor). My FPS is now more stable between 35-40fps, even using heavy 3rd party add-ons likes the PMDG 747 at EHAM.

However I do have a follow up question if you don't mind. My total CPU utilization in task manager is around 48%, but looking at the individual cores, cores 1, 5 and 7 barely have any load while core 0 is near 100% and cores 4 and 6 around 90%. So it seems to mean the majority of the CPU load is being taken up by 3 out of the 8 cores. Would you know if this is normal behavior? Does it have to do with HP? I've never disabled hyperthreading so assumed it must still be on (no specific menu I can select in my BIOS)

Many thanks

That is great!

I am not an expert on how CPU threading works - my knowledge is just from reading posts by some of the smart folks around here like Rob - but that sounds about right.  My understanding is that there is likely going to to be one main thread maxed out, and 2 or 3 others running at a lower utilization.  Cores 0, 2, 4, and 6 are your physical cores, and 1, 3, 5 and 7 are the virtual ones you get from hyperthreading.  This is all very hardware specific, but since we both have 6700k CPU's I thought perhaps you would be helped as I was.

AM=85 is the exact same setting I had for v3 on this same computer, so at least for me it works much better to have P3D only running on the physical cores, and let Windows manage the other add-ons.

When I say "much better" for me it is not just a matter of degrees - with AM=85 there is essentially zero stuttering and almost DCS-type smoothness, whereas without it I would see stutters every second or two especially when panning with Trackir.  As Rob said, this is probably something with the specific add-ons I am running that P3D just works best only on the physical cores.  I don't turn HT off because I don't have a flight-sim-dedicated rig, and I want the extra multi-threaded performance for other stuff.

Note I am OC'd at 4.5 Hz - I don't know if you are as well.

I definitely do not max all my settings - my 980 Ti is not strong enough for that (can you believe we are saying that?).  But I don't feel I have to make undesirable compromises in the settings in V4 like I did in v3.  And v4 is definitely WAY smoother.

I would say if you are happy with the performance now, leave everything alone and go fly!

EDIT:  I just noticed you also talk about seeing blurries - I increased TextureMaxLoad to 30 and have FFTF at 0.10, just like I did in V3.  That fixes blurries and slow texture loading for me.  Essentially my only config tweaks are the same ones I had in v3 - Affinity Mask, TextureMaxLoad and FFTF. I could probably be fine without FFTF but I like the extra frames I get with it.  The Help documentation supplied by Lockheed Martin describes where those entries go, as does Rob's excellent P3D guide (much of which still applies).

  • Upvote 2

Share this post


Link to post
On 14.6.2017 at 0:49 AM, Rob Ainscough said:

keeping HT enabled and using all cores (physical and logical) except core 0/1 seems to work reasonably well

Hi Rob,

did you mean to set AM to stay away off core 0 the first logical process only eg. AM 254 on an i7 6700k? Or out off core 0 and thread 1, (2 logical processes), AM 252?

Share this post


Link to post

Also was having severe problems with micro-stutterings. Fps were going from 50 to 20 in a matter of seconds. Using AfMask 85 helped a bit. Frustrating that we still have to resort to these kind of tweaks in 2017. Just shows that the platform is still pretty much the same as FS9/FSX...

Share this post


Link to post

Don't try to tell P3D or the OS what to do.  Best practice these days is to forget the Affinity_Mask and bufferpools thing and let the OS / APP work as designed.  I am a tweak hound but have modded only the most simple of settings for V4.  Works out-of-the-box as they say.

 

Cheers

bs

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