Jump to content
Sign in to follow this  
SledDriver

P3D multicore usage anomoly

Recommended Posts

7 hours ago, SledDriver said:

I do all my testing in worst case scenario I can think of. Anything else is pointless. I'm not interested in gliding through the desert only to hit fps hell when I go anywhere near civilisation. 🙂

Well the 'desert', and 'anywhere near civilization' rhetorically or not are pretty close to the same benchmark.   Are you saying you've achieved a level of performance where no possible scenario taxes the system such that you lose literally 'perfectly smooth' performance, ever?  That's news to me from reading the testimonies here of so many people I've never had the sense the sim was truly now truly tackled by the current generation of hardware.    I'm assuming you're well loaded w/ FTX regional sceneries and the most taxing of aircraft like the EM505 Phenom 300 w/ the G1000 avionics.

I have to mention for many years I believed I had fabulous performance because presumably it was the best I'd ever achieved.  All that changed a couple years ago when I learned the current setup where literally perfect smoothness was first achieved after decades of flight simming.  This is why I'm still doing well on a 6 y/o platform.

Edited by Noel

Noel

System:  9900K@5.0gHz@1.23v all cores, MSI MPG Z390M GAMING EDGE AC, Noctua NH-D15S w/ steady supply of 40-60F ambient air intake, Corsair Vengeance 32Gb LPX 3200mHz DDR4, Sabrent NVMe 2Tb x 2, RTX 4090 FE, Corsair RM 850W PSU, Win10 Pro, LG Ultra Curved Gsync Ultimate 3440x1440, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frametime Variance achieving ultra-fluid animation at lower frame rates.

Aircraft used in A Pilot's Life V2:  PMDG 738, Aerosoft CRJ700, FBW A320NX, WT 787X

 

Share this post


Link to post
3 hours ago, SledDriver said:

Hmm. Just fired up the sim again. Didn't do the core thing. Core0 hammered. other 5 cores at 30-50%.

Did the core thing. All cores regularly at max, and sim definitely smoother.

Get it - smoother. But no, I'll put it back to the old way which is obviously the right way and live with the stutters. 😉

I obviously don't actually know how it is actually programmed either. All I can do is report what I see.

Yes and I remember the split core = 100% thing. But that wasn't FSX/P3D. This is later code than that at least.

Hopefully LM will sort this out properly some time and recode the whole kernel of the sim.

 

If it works for you, it works for you. No argument there.

As you mentioned, and I agree, that the variables involved in PC settings alteration is enormous.

I ended up with  RTSS as a frame rate limiter because I had the same exact problem locking frames at 30 in NVI that you have with RTSS. Sometimes it worked, other times wild variation. Worthless.

The RTSS 1/2 Vsync wasn't available then (that I know of) and I just set RTSS 30fps lock with unlimited and it smoothed things right out and worked all the time. I didn't bother telling anyone; see all the posts above 😊 But, it seems to have emerged as a working solution for many.

Here's what mine looks like (7.2.2)

https://drive.google.com/file/d/1Ppk0zT5cdjaD7j3Jo6DWicXp5ISHBLHo/view?usp=sharing

I'm using a triple monitor setup (stretched image, no view groups) which has had no adverse effect, You might try disconnecting all monitors except your P3D one and see what happens after a uninstall/reinstall. I use the following tools to do a complete and thorough uninstall of my programs. RevoUninstaller (free trial) and SearchEverything (free).

Cheers,

Mark

Share this post


Link to post
On 4/13/2019 at 12:01 AM, SledDriver said:

Hmm. Just fired up the sim again. Didn't do the core thing. Core0 hammered. other 5 cores at 30-50%.

Did the core thing. All cores regularly at max, and sim definitely smoother.

Get it - smoother. But no, I'll put it back to the old way which is obviously the right way and live with the stutters. 😉

I obviously don't actually know how it is actually programmed either. All I can do is report what I see.

Yes and I remember the split core = 100% thing. But that wasn't FSX/P3D. This is later code than that at least.

Hopefully LM will sort this out properly some time and recode the whole kernel of the sim.

 

Today i could test the RTSS scanline thing and the result is very good. For me it works.

Also i tried the core thing and FINALLY my core0 isn't at 100% forever but all core (6 core cpu) are equal (screen below) (Thanks for that)
At the moment i am on cruise but when i am approaching in Amsterdam (flytampa EHAM and more traffic) i re-check the usage of CPU.

It-Work.png
RAM.jpg

Edited by Simone99

Share this post


Link to post
8 hours ago, Simone99 said:

Today i could test the RTSS scanline thing and the result is very good. For me it works.

 

BTW, we have been working with the notion of "Scanline Sync X/2 and 60" thinking that 60 is the monitor refresh rate.

If you hover over the 60 setting in the app, you will get a description that indicates that the value is actually related to the vertical location of the Vsync tear line.. and not the refresh rate at all :blush:

So, you can set it to any value except for zero.. and it will still work..

Just try setting it to 1 as a test :wink:

  • Upvote 1

Bert

Share this post


Link to post
On 4/13/2019 at 4:55 AM, SledDriver said:

By who? The actual guys who wrote it?

Did you ever actually look at the thread count on your modern PC with anything running. It's not uncommon to have no 'apps' open and the CPU still be handling 20,000 threads, and you're trying to tell me that P3D main routines are in one thread.

That just doesn't make sense.

P3D main processing will be thousands of threads, all perfectly capable of being distributed across many cores.

That's just how CPU's work.

The fact that it loads up Core0 unless you stop it, is almost certainly legacy programming which has not yet been rewritten by LM.

To be making statements like this it's clear you haven't done any threaded programming before.

Those thousands of threads you see are mostly background tasks by windows. Many windows processes have lots of threads so they can easily be scheduled and spread over multiple cores.

Yes the P3D main routines are in one thread. It is only possible to multi thread so much, which LM have already done with scenery loading, etc. You'll also get some addons on different threads like AS, Chaseplane, GSX, and UTL, but any code execution that interacts with the flight model/physics through SimConnect/FSUIPC has to be done on the main thread as they are not thread-safe (Unless something has changed recently that I'm not aware of).

One of the biggest issues with threading is keeping things in sync, if you put different parts of the code on different threads, it becomes much harder to keep them in sync. This is why scenery and autogen is easy to offload, because loading scenery can be done independently of aircraft systems.

A good analogy would be thinking of threads as crew members on a flight. Adding more pilots into the cockpit wouldn't be very helpful, you never want more than one pilot handling the controls at once. But adding a co-pilot, first officer, or flight attendants in the cabin is fine, as they are doing their own thing that doesn't interfere with the flying. But again this gets to a point where there aren't enough jobs for the crew to do. I mean you could technically have 1 flight attendant per passenger if you wanted, but then they'd constantly be blocking each other and causing traffic jams in the aisles.

It's hard to have multiple people (threads) doing the same thing, whether in life or in programming.

Edited by itsjase
  • Like 1
  • Upvote 1

Share this post


Link to post
42 minutes ago, itsjase said:

Yes the P3D main routines are in one thread. It is only possible to multi thread so much, which LM have already done with scenery loading, etc. You'll also get some addons on different threads like AS, Chaseplane, GSX, and UTL, but any code execution that interacts with the flight model/physics through SimConnect/FSUIPC has to be done on the main thread as they are not thread-safe (Unless something has changed recently that I'm not aware of).

This has been my understanding as well.  I asked Sled what happens to performance when he encounters the most complex scenario possible but he did not answer the question, instead saying he always tests in the most complex scenarios.  My point was to elucidate exactly what happens when you go thru his setup routine and end up w/ all cores operating at essentially the same load.   On first glance you might surmise if all 6 cores managing all of the work P3D throws at it it would be considered 100% multithreaded--indeed, this is the promised land!  But...we see zero evidence of this.   If you want to see the difference in total thruput between a very multithreaded benchmark versus single threaded performance by the same CPU use one of the benchmarking tools and you easily see the dramatic increase in throughput.  IOW, Sled would have truly found the promise land that his machine can handle absolutely anything P3D and its myriad addons can throw at it.  And this, of course, is beyond a first...it's a miracle!

I'm thinking Sled, if anything, is seeing lower total performance.  Just a hunch, but as I say if he truly is seeing the main WORK of P3D being spread equally over 6 cores or what have you he would be seeing performance others have not yet seen.

For my hyperthreaded hexacore I mask Core0 from P3D, and Windows processes and a few other low demand FS addons are masked from every other core than Core0.  P3D has access to LPs 3 thru 12 IOW.  Provided I'm under the limit for what my GPU can do I have 100% perfectly smooth flight provided the main thread is staying under about 95% utilization.  Truly the promised land of video performance.  But alas, it's a 6y/o CPU and it simply can't manage too much stuff, and then there's my GPU.  Ahh...if only P3D were super multithreaded!

Edited by Noel

Noel

System:  9900K@5.0gHz@1.23v all cores, MSI MPG Z390M GAMING EDGE AC, Noctua NH-D15S w/ steady supply of 40-60F ambient air intake, Corsair Vengeance 32Gb LPX 3200mHz DDR4, Sabrent NVMe 2Tb x 2, RTX 4090 FE, Corsair RM 850W PSU, Win10 Pro, LG Ultra Curved Gsync Ultimate 3440x1440, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frametime Variance achieving ultra-fluid animation at lower frame rates.

Aircraft used in A Pilot's Life V2:  PMDG 738, Aerosoft CRJ700, FBW A320NX, WT 787X

 

Share this post


Link to post

 

1 hour ago, Noel said:

I'm thinking Sled, if anything, is seeing lower total performance.  Just a hunch, but as I say if he truly is seeing the main WORK of P3D being spread equally over 6 cores or what have you he would be seeing performance others have not yet seen.

Yeah I think you're correct, what he's probably seeing is overall less performance, but maybe a more stable framerate as the frame drops usually occur when a core gets hammered to 100%

Having 20fps constant might look smoother to him than 30fps with intermittent drops to 20fps.

Edited by itsjase

Share this post


Link to post

"Having 20fps constant might look smoother to him than 30fps with intermittent drops to 20fps."

You guys seem to be making up things I have never said. I mean, where did you get that from?

My system is delivering rock solid 30fps locked down with RTSS. Unlocked it delivers 45-60fps.

Again, I reiterate, my system is on the whole running very smooth with only occasional longer stutters,and no microstutters.

Geez what are you guys on?

" I asked Sled what happens to performance when he encounters the most complex scenario possible but he did not answer the question, instead saying he always tests in the most complex scenarios."

And just what is wrong with that answer precisely???

Share this post


Link to post
2 hours ago, Noel said:

IOW, Sled would have truly found the promise land that his machine can handle absolutely anything P3D and its myriad addons can throw at it.  And this, of course, is beyond a first...it's a miracle!

I'm thinking Sled, if anything, is seeing lower total performance.  Just a hunch, but as I say if he truly is seeing the main WORK of P3D being spread equally over 6 cores or what have you he would be seeing performance others have not yet seen.

Oh great one, 😉 what I am trying to point out is that if I don't mess with cores, on my 8700K the overall CPU usage is around 50-60% as 5 cores are not being worked hard.

if I do the core0 disable/reenable thing, I get around 86% overall CPU utilisation,AND A SMOOTHER SIM, WHETHER YOU BELIEVE IT OR NOT.

So perhaps you'd care to explain again why I shouldn't be doing this?

I really don't understand quite what you guys are driving at with being so negative about my real-world reports after a lot of reports. We're all in the same game here, but as in most clubs, sooner or later the club members can't stop fighting with other club members who are supposed to have exactly the same interests. ☹️

Share this post


Link to post

Sorry if I came accross as agressive, I'm just trying to point out you are trivialising a lot of things that LM has done/and continues to do, to improve the sim.

I'm confused though, you say you're locked at 30fps through RTSS but your system can do 45-60fps. So from my understanding before you touch the cores you have a locked 30fps with 60% cpu usage? But then after you disable/enable the core you get the same locked 30fps but with a higher cpu usage?

Share this post


Link to post
16 minutes ago, itsjase said:

you are trivialising a lot of things that LM has done/and continues to do, to improve the sim.

I'm confused though, you say you're locked at 30fps through RTSS but your system can do 45-60fps. So from my understanding before you touch the cores you have a locked 30fps with 60% cpu usage? But then after you disable/enable the core you get the same locked 30fps but with a higher cpu usage?

I'm certainly not one to trivialise the efforts of people like LM. Not sure why you think that.

That is something I have seen. higher CPU usage after the core0 'trick'. Again I'm only reporting what I have seen. It could be that I only spotted that when in a very busy area.

I lock at 30fps because I find that wholey acceptable and smooth in my system, and I would rather have 30 fps and no the system can maintain it at all times, in all conditions, I'm flying fairly demanding planes CPU wise, like the Vertx DA-62, and I also test my system's ability to load scenery by screaming around at low level in the fast jets.

The only problem I'va had lately is a CTD in the fast jets at low level if I change the Fiber-Frame... setting to 0.2. If I keep that at 0.15 it has been reliable so far.

Oh for the day when the system calibrates and configures all these settings for us!

Share this post


Link to post

Sled, don't take it personally.  Just read thru all of the arguments and comments made and appreciate the fact what you're talking about with this flies in the face of what developers like SteveW and RobA have had to say about multithreading, the main thread, and why what mostly matters because of the engine's threading architecture is single-core performance.  You're saying you're seeing the same performance when the main thread is now manifesting the same CPU utilization as the other cores in your CPU, for example all 6 cores are chugging along at 65%.  Now as originally asked which you absolutely, for some odd reason, didn't answer directly or indirectly, what happens when you are in the most complex scenario POSSIBLE in your install of P3D?  Pick one out:  FTX England over London maybe or heck even Seattle.   Tell me what you're seeing now in terms of CPU utilization.  For comparison's sake, my CPU's single-thread performance is around 40% lower than yours is at this time.   There are many scenarios that take my CPU down, but I understand how it works and adjust accordingly.  I always have liquid smooth video performance until the main thread approaches 100%, or until the GPU approaches 100%.  I know it so well now I rarely ever get near 100% for either.  I look forward to a new 9900K or better!

We'll get to the bottom of it but my sense is what you are seeing is mostly a red herring.  Or, you've discovered a way to create multithreading that the LM didn't know about, or didn't tell anyone about.   It's interesting and I hope you are on to something but at this point it's hard to say what it is. 

Edited by Noel

Noel

System:  9900K@5.0gHz@1.23v all cores, MSI MPG Z390M GAMING EDGE AC, Noctua NH-D15S w/ steady supply of 40-60F ambient air intake, Corsair Vengeance 32Gb LPX 3200mHz DDR4, Sabrent NVMe 2Tb x 2, RTX 4090 FE, Corsair RM 850W PSU, Win10 Pro, LG Ultra Curved Gsync Ultimate 3440x1440, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frametime Variance achieving ultra-fluid animation at lower frame rates.

Aircraft used in A Pilot's Life V2:  PMDG 738, Aerosoft CRJ700, FBW A320NX, WT 787X

 

Share this post


Link to post

I have answered your questions, TWICE, by generically saying that I flew in the toughest scenario I could muster when I did these tests. Considering it would take you guys only the work of 5 seconds to try my disable/reenable core0 tweak, I think it's a bit much for you to be all accusing me of not answering your questions, especially when I did.

But here goes again.

Overflying Heathrow at 800ft at 180kts in the VertX DA-62 with REX Skyforce3D, EnvDir, ASP4, ASCA, RTSS at 30fps with about 70% overcast, with Horizon VFR scenery and trees, airport traffic and ground traffic.

With no affinity mask and WITHOUT my core0 disable/reenable tweak.

GPU: 61-85%
Core 0: 100%
Core 1-5: 14-80%
Overall CPU: 37-80%
Experience: many constant microstutters. Not pleasant.

With no affinity mask and WITH core0 disable/reenable tweak.

GPU: 70-83% (less fluctuation)
Core 0-5: 30-61%
Overall CPU: 28-50%
Experience: NO microstutters. Very nice, smooth performance.

Considering the sim was not restarted between these tests, yet went from stuttering to glassy smooth, I fail to see why you are all hell-bent on telling me that I am wrong, and insulting my technical computer knowledge, which you know nothing about. I never expected to find this attitude here, and I will not continue the discussion if that continues. You say don't take it personally, then insult me. Insults are always personal. So far in the last few pages I've been told I know nothing about how computers work, programming, multicore, and P3D tweaking, and that I ignore questions. I don't ignore your feedback or questions, but I do have a life outside of this sim world which often takes priority.

Try if for yourselves instead of kicking back that I know nothing. Right now I'm flying along in with all individual cores at between 30 and 73%. Someone may well retort that this is because the main P3D thread is hopping around between cores. Whatever. It works, and the sim is the smoothest I have seen.

I'm only trying to help. Didn't expect to start a war.

 

 

 

Edited by SledDriver

Share this post


Link to post

Now now take a deep breath.  You're not the only person here who thinks they understand this stuff.   Let's start looking deeper at what you're describing as the most complex scenario possible.   Remember Sled:  the default experience of every other user I've read testimony will tell you no way they can achieve perfect performance at the most complex scenarios possible in the sim today.  Many to most use FTX regional sceneries.  Do you have those so you can benchmark how things go say w/ FTX SoCal flying the PMDG 737 NGX into KLAX from east to west at dusk with road traffic at 50%?  Global, Vector, are all of these packages installed in your system underneath the FTX stuff?  

Now I'm on a system that is fully 40% less potent than what you've got going.  And quite frankly even w/ it I'm usually in very decent shape until I get over something like KSEA, or flying the PMDG 777 into KSFO with lots of lights on a dusk for example.  So with another 40% I'm pretty certain I will be hitting that <100% utilization of Core1 which is where the main thread does it thing as I'm set up.

Can you contrast your pre-magic performance of something like the PMDG 777 or 737 at least so I can appreciate better what you're looking at?  I'm not familiar w/ VertX DA-62, and have no idea how FTX regionals perform compared to what you're using.

Once again the theoretical explanations (plural) defy all known logic about the sim and how it functions from developers and others deep into the sim.  The main thread gets all the work, the other cores manage terrain texture loading.   What is your theoretical explanation for how you've tricked the code into an efficient multithreading scheme?  Or is it just an artifact/red herring?  I ask this in all earnest, and wonder if exactly what is happening is this:  BOTH methods, in YOUR CASE, work essentially equally well WITH YOUR EXACT benchmarked high stress test.  I wonder if the test is just plain too weak to manifest the issue.  Put a choke on the main thread and you STILL have enough processing power to manage the sort of scenario you're calling intense processing demand.   As I say even w/ my 60% processing power v your setup I'm not that far off in the worst areas.  I do look forward to a new I9-9900K and a 2080Ti or something along those lines that will be where the real game change comes.

Edited by Noel
  • Like 1

Noel

System:  9900K@5.0gHz@1.23v all cores, MSI MPG Z390M GAMING EDGE AC, Noctua NH-D15S w/ steady supply of 40-60F ambient air intake, Corsair Vengeance 32Gb LPX 3200mHz DDR4, Sabrent NVMe 2Tb x 2, RTX 4090 FE, Corsair RM 850W PSU, Win10 Pro, LG Ultra Curved Gsync Ultimate 3440x1440, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frametime Variance achieving ultra-fluid animation at lower frame rates.

Aircraft used in A Pilot's Life V2:  PMDG 738, Aerosoft CRJ700, FBW A320NX, WT 787X

 

Share this post


Link to post

I'm not an FTX user, and do't yet use PMDG, preferring GA flying, but I believe the DA-62 represents a reasonable load on the system. I intend adding PMDG some time soon, but the budget is blown for this month as I've just updated all my existing stuff from FSX to P3D. So I cannot yet compare.

Also I fly mostly in the UK where I prefer the realism and actuality of flying photo real scenery like my Horizons GenX VFR England/Wales/Scotland to FTX pseudo scenery. I also use UK2000 VFR Airports for GA flying in this area. The VFR scsnery I am using is 250GB of textures and models which the system loads smoothly even during the lowest fastest fighter jet flying. No blurries. No popup.

But I can't yet speak for how the planes measure up against your PMDG stuff., and I do see slowdowns at dawn/dusk, but not all the time. 

 What is your theoretical explanation

No particular theories. Just observations. For me in my scenarios I get better, smoother performance and consistent frame rates with the core0 disable/reenable tweak. I can't see any reason to stop doing it until somebody comes up with something which works better for me. Maybe my test is too weak. But the stuff I am running was pushing FSX to it's limits, and with these tweaks on x64 P3D it is all running lovely, apart from dawn/dusk.

 

 

Share this post


Link to post
Guest
This topic is now closed to further replies.
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...