Jump to content
Sign in to follow this  
Noel

Unbelievably smooth performance--question re cloud/terrain shadow impact

Recommended Posts

Sorry, what is an LP? I have a i7 4820K which is a quad core processor. If anyone could recommend an affinity mask for this, I'd be happy to give it a try.

 

cheers

 

Ian

 

Logical Processor. If you have Hyperthreading turned on, you have 8 LPs -- if off, you have 4.


Gigabyte x670 Aorus Elite AX MB; AMD 7800X3D CPU; Deepcool LT520 AIO Cooler; 64 Gb G.Skill Trident Z5 NEO DDR5 6000; Win11 Pro; P3D V5.4; 1 Samsung 990 2Tb NVMe SSD: 1 Crucial 4Tb MX500 SATA SSD; 1 Samsung 860 1Tb SSD; Gigabyte Aorus Extreme 1080ti 11Gb VRAM; Toshiba 43" LED TV @ 4k; Honeycomb Bravo.

 

Share this post


Link to post

Back to the original question:  besides turning shadows off or down, what else improves shadow performance?  My GPU is a 5 y/o GTX Titan so perhaps that's feeling its age.


Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time 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

"mixed processes don't harm the sim background tasks so bad as they do the first two jobs/LPs."

 

Right now all other processes including Windows & the few add ons I have running along w/ P3D are assigned manually are shared w/ P3D on 11,11,11,__,__,00 and as well on the unassigned 1st two LPs.  

 

That was my next question, is it best to give P3D the entire exclusive use of a couple cores beyond the main thread's 2 full cores texture loading and prevent any other exe's from sharing, or mainly just theoretically?  With two add ons and all the other windows processes sharing w/ P3D all except LPs 3,4,5,6 I notice CPU utilization on those LPs is often quite low.

The background tasks take seconds to complete so although they are obviously affected by other processes sharing the core they are not affecting the timely requirements of the rendering stage which needs to be kept flowing.

 

Taking note of graphs and CPU percentage loads in Task Manager is a big mistake when ascertaining the true impact of other processes on the CPU.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Well, I was looking at Asus's monitor for each LP, and it seems to be about what I would imagine it would be.


Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time 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 found a new achilles heel in the 30mHz monitor refresh:  if frame rate drops below that level, it gets much choppier than leaving the monitor at 60mHz.   I noticed this when flying out of KORD in the NGX.  It got quite jerky again when frames got down to around 22, 1st time I'd seen this.  And the cloud/terrain slider seems to consistent bog down the GPU if set too high.  GTX 1080 would solve this do you think?  GTX Titan now and it appears to be less than 50% of the 3DMark score of the 1080.


Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time 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

Well, I was looking at Asus's monitor for each LP, and it seems to be about what I would imagine it would be.

That's fine but what I'm saying is there's things to consider, like two LPs of the same core showing 100% each are actually at 50%. Also when looking at an averaging graph consider an example that two cars reach a destination at an average of 50mph, one does the trip at a consistent 50mph while the other repeatedly accelerates up to 200mph and stops, then off to 200mph and stop again.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Hi Noel,

 

I just started using nVidia Inspector again after reading that a user had set the frame limiter to ~30.5 fps in NI and leaving frames set to unlimited in the sim and I was impressed with the seemingly smooth flight experience even with heavy hitting addons like PMDG's 747 and AS16.  I do recall seeing a post in the past where a user had reduced his refresh to 30MHz so I may give that a try.

 

Steve,

 

Good to see you again!  I have an i74790K (4 core) with HT on giving me 8 physical cores.  I have set the affinity to 116 [ Binary = 01110100 ], reading Noels posts I see that the first 2 cores are left untouched as mine are but the cores on the "backend" are being more aggressively used.  Is there a change that I should make to my AM?  Should I be looking at an AM of 244 [ Binary = 11110100 ] or is there something better?  I have very few addon airports but do have quite a bit of Orbx scenery including Global Base and Vector installed.

 

Using Process Lasso I have assigned TrackIR and a couple of addons to use cores 3,5,6,7 and I am wondering if there is a better way to handle what processes are being handled by which cores.

 

Thanks, 

 

Robert


\Robert Hamlich/

 

Share this post


Link to post

Hi Robert, Problem is four cores only go so far so there's going to be contention somewhere. 116 uses three cores for the sim on four LPs, leaves a whole core free. The only other way is to use four cores 85 or 245:

 

01,01,01,01 = 85 dec - sim - best rendering

10,10,00,00 = 2 LPs for apps

 

or

 

11,11,01,01 = 245 dec - sim - best loading

10,10,00,00 = 2 LPs for apps


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Hi Steve, interesting, I will have a try with those settings and see what happens.  Thanks for your feedback, looks like my next build will at least include a 6 core processor.

 

Noel, thanks for starting this thread, it's always insightful when reading about this technology.

 

Robert


\Robert Hamlich/

 

Share this post


Link to post

So this begs another question for a hexacore processor:  with only 2 or 3 add-ons running alongside P3D, which is best, hyperthreaded, or non?   It seems intuitive that it might be better to have P3D have access to undivided (logic scheme, not physical processor core) cores, and that seems compatible with what you made the case for with 4052 over 4092.   

 

I have to think I'm about maxed out for what I can get out of this 5 y/o box.   But this has given me some additional mileage which is great because I really don't want to build a new PC--I never know what to do w/ the old ones  :fool:


Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time 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

Cores are not divided, that's a substantial misunderstanding there. Two threads running on a core are time switched so that they appear to run concurrently. The core has to save what it's doing and load what the other thread is doing each time the thread is swapped. That takes time to swap the threads over. Now with HT enabled those two threads are run on each LP, and there's no switching time lost when the core swaps over the threads, why it's more expensive. So if you turn off HT you lose out all aver the shop.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Thanks for your feedback, looks like my next build will at least include a 6 core processor.

 

When I assembled my last build I was thinking about Xplane and its use of multiple processors for texture loading and AI, and I know FSX/P3D can utilize the additional cores as well, so I went w/ this Sandy Bridge E.   The other issue that crops up on this topic is overclockability--in general the more cores the less potential for overclockability is what I read, and it makes some sense for sure.  I hope it continues to work well and when it finally goes I will be looking at the latest and greatest 6+ core as long as it overclocks enough.  By looking at websites dedicated to CPU evaluation I think there might be as much as a 20% increase by moving to the latest and greatest, which is significant but hardly earth shattering.  Fortunately, 20% is very meaningful for P3D as it's functioning now.

 

Unfortunately I don't think anyone has come up w/ a realtime modulator where the user can prioritize what slider setting gets tweaked first when performance is starting to suffer, so that there is no need to stop flying and change something.

 

Never did get past the XP 10 demo but I understand it's making headway now w/ XP 11.

Cores are not divided, that's a substantial misunderstanding there. Two threads running on a core are time switched so that they appear to run concurrently. The core has to save what it's doing and load what the other thread is doing each time the thread is swapped. That takes time to swap the threads over. Now with HT enabled those two threads are run on each LP, and there's no switching time lost when the core swaps over the threads, why it's more expensive. So if you turn off HT you lose out all aver the shop.

I think that means keep HT on  :smile:

 

Do you have any wisdom on getting around the impact of cloud/terrain shadowing?  Is it a case of more GPU?  Right now I'm only using MSAA 4x, no FSAA.


Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time 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

Shadows are mainly a GPU thing. Have you tried adjusting in Prepar3D.cfg [GRAPHICS] NUM_CASCADES and SHADOW_TEXTURE_SIZE. Less cascades takes less time per frame and larger sizes show less graininess to the edge but take longer to initialise.

 

When we have HT=On it will do more work in less time and get hotter, work = heat. We can disable HT to maintain an overclock or we can reduce the overclock to a lower point in the heat curve so we can enable HT. If we turn on HT some processes double their work without regard to LPs on cores and so make undesirable use of the CPU, Prepar3D included. That's not wrong of P3D since that's left to us to apply the mask so we can direct it to utilise the LPs we have more effectively and share with addons.

 

If we simplify the situation turn off HT and we have six cores, P3D would just run out across all six cores AM=0=63=111111, or we can apply a mask so that it runs out across only the middle four AM=30=011110. if we have no external processes running and take proper measurements we see that four cores runs the rendering speed at a greater pace - we get more fps. When we allow the six core use the rendering is very slightly reduced in return for faster scenery loading. We can see it easily with a stop-watch, probably a gain of ten or more seconds loading the same scenario. Ultimately we run apps alongside so we have to put these on cores that don't affect the first two (shown as ones on the right in the binary). Now turn on HT and AM=340=00,01,01,01,01,00 gives the sim four straight cores.

 

So we can see that 340 runs P3D in a monolithic way utilising the cores as if HT was disabled. That's OK because the app was designed that way. The app doesn't benefit in HT other than the increase in performance to the bed of resources it rests on.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post

 

 


Have you tried adjusting in Prepar3D.cfg [GRAPHICS] NUM_CASCADES and SHADOW_TEXTURE_SIZE.

 

Nope, but I will thanks.  As long as there is enough CPU to maintain frames at the 30 refresh rate the smoothness factor is ginormous.    It is weird to look out the side window and see not the slightest hint of a hitch in the get along.  It's mesmerizing!  But once under 30 it seems to get a little more choppy than previously, at least I think so.   I'm not quite sure about this still because by way of incessant tweaking somehow I got myself into another bad place I couldn't get out of and ended up restoring the month old image so I could resume the incredible smoothness I had going, and sure enough that happened after the restore.  After updating a few parts of P3D and a few other changes not captured in the prior clone and verifying the smoothness was indeed back I re-cloned last night. 

 

My edict has been to never touch anything when everything is working right, so I'll be back on that path again shortly.

 

Does Windows 7 itself have any preference for using Core 0, or is Core 0 utilized exactly as any unmasked core for routine processes?


Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time 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

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