Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

A Frame-Time Analysis of P3D v3 -- Effects of CPU Affinity, Frame Lock, and HT

Featured Replies

  • Commercial Member

I have a question. Is there a benefit to having an i7 instead of an i5? It seems that P3D mostly runs on one core and if that is the case, what would an i7 provide that an i5 would not. I ask this because I see many people indicating that they have i7 cpu's. Just curious. Thanks.

Yes, it's funny that folk are purchasing Hyperthreading CPUs and turning off HT thinking that the sim is single threaded or does not use Hyperthreading. Whereas in fact it is the system that uses Hyperthreading to a reasonable advantage. However with HT enabled the simulator would require an Affinity Mask to ensure that the JOBSCHEDULER does not share the core running the main sim thread with another of the sim threads. If you have an i7 and you use HT enabled there is a benefit but not much, and that only comes with proper setup knowledge to get the best out of it.

Steve Waite: Engineer at codelegend.com

  • Replies 596
  • Views 171.1k
  • Created
  • Last Reply
  • Commercial Member

Used to be that HT would cause overheating and reduce your possible OverClock.  These days I prefer to lower the OC a bit so HT can be left on.

HT is a good thing to have - for the OS, P3D ect.

 

Regards

jja

Hi,

 

I  am sorry to return with another evil result. LM is known to advise against switching core 0 off/on after the simulator was started. This has been known to level load between cores for a long time, However, according to LM it destroys the internal threading mechanism and is rejected thus. At least that's what I recall from a thread on the LM forum a year or so ago.

 

I wanted to check this. Here are two results with the same settings as in my contribution above. The first one is just copied from above:

 

1) HT off, no AM:, fps = 20

 

HT_off_on_AM_600.jpg

Now the same with core switching:

 

2) HT off, no AM, fps = 20, but core 0 switched off and on again after starting the simulator

 

 

HT_off_no_AM_core_switching_6000756c.jpg

 

 

(The big spike was the USB Trim Wheel kicking in - forget it.) Now I am really worried. Not only does the whole curve show less fluctuations, even the framerate drop towards the end when landing at KSFO is "missing". Perhaps there might be blurries because of destroyed threading, but at least I didn't notice them during the short circuit.

 

Or, there might be horrible VAS usage? I didn't graph VAS, but saved the RAW data as well. VAS usage is around 2 GB and if there's and discernable difference at all it's lower using core switching.

 

Now I ask myself, shouldn't I "destroy" the threading mechanism for core leveling, better fps and smooth flight?

 

Anyone to detect the loophole?

 

Thanks and kind regards,

Michael

Intel i7-13700K / AsRock Z790 / Crucial 32 GB DDR 5 / ASUS RTX 4080OC 16GB / BeQuiet ATX 1000W / WD m.2 NVMe 2TB (System) / WD m.2 NVMe 4 TB (MSFS) / WD HDD 10 TB / XTOP+Saitek hardware panel /  LG 34UM95 3440 x 1440  / HP Reverb 1 (2160x2160 per eye) / Win 11

  • Commercial Member

What you are doing is making the first thread jump to another core, possibly occupied by another thread that can hog the core. It could be that an addon or other process is already on core zero when you start the sim, and the performance improves when the main thread is moved off of core zero.

 

Instead, just use an AM=14=(1110) to disable core zero when the sim starts, this will avoid any addon or process on core zero, and also give the main thread a core to itself.

Steve Waite: Engineer at codelegend.com

Great work, thanks AviatorMoser!  

This topic will  help to my optimization.

 

 

I have some question.

English is not my mother language. 

So i can't understand at all.

 

Who Can you propose setting(FFTF, AF etc..) to me?

 

 

My system(Old system :cray: ) is here.

CPU : Intell i7 2600

Samsung DDR3 8G PC3-10600 [2GBx4]

MICRON Crucial MX200 500G SSD, WD 1TB Black HDD

ZOTAC GF GTX780 Ti AMP! DDR5 3G

Windows 7 Home Premium(64Bit) 

 

 

Sorry for my bad english.

Thank you. 

  • Commercial Member

Yes, it's funny that folk are purchasing Hyperthreading CPUs and turning off HT thinking that the sim is single threaded or does not use Hyperthreading. Whereas in fact it is the system that uses Hyperthreading to a reasonable advantage. However with HT enabled the simulator would require an Affinity Mask to ensure that the JOBSCHEDULER does not share the core running the main sim thread with another of the sim threads. If you have an i7 and you use HT enabled there is a benefit but not much, and that only comes with proper setup knowledge to get the best out of it.

Thanks Steve. So, if you were to purchase a new CPU, like I plan to in November/December, would you get a Skylake i5 6600k or i7 6700k? I have a gtx970/4 by the way.

spacer.png

REX AccuSeason Developer

REX Simulations

  • Commercial Member

i7 gives you more options but if you are going to OC the max then maybe the i5 will do.

Steve Waite: Engineer at codelegend.com

I'm on a i7 4790k at the mo. The one thing about the 4790k is that it's clocked higher in the first place, (implying better binning), therefore you're likely to get a higher overclock in the first place, especially if you disable HT in the BIOS (having decided 4 cores is all you want).

 

Just my 2p

 

I have some question again.

 

What AM should i set for i7-2600(No overclock)?

85, 1364, 2730 ... 

I'm confused... LOL

 

Can you suggest setting  to me?

 

My system is

CPU : Intell i7 2600

Samsung DDR3 8G PC3-10600 [2GBx4]

MICRON Crucial MX200 500G SSD, WD 1TB Black HDD

ZOTAC GF GTX780 Ti AMP! DDR5 3G

Windows 7 Home Premium(64Bit) 

 

Thank you. 

What you are doing is making the first thread jump to another core, possibly occupied by another thread that can hog the core. It could be that an addon or other process is already on core zero when you start the sim, and the performance improves when the main thread is moved off of core zero.

 

Instead, just use an AM=14=(1110) to disable core zero when the sim starts, this will avoid any addon or process on core zero, and also give the main thread a core to itself.

Thanks for taking care. I'll test this.

 

However, as far as I can tell from memory any AM (i.e. using less than all the four cores for the simulator) gave me worse results for HT off.

 

Kind regards, Michael

Intel i7-13700K / AsRock Z790 / Crucial 32 GB DDR 5 / ASUS RTX 4080OC 16GB / BeQuiet ATX 1000W / WD m.2 NVMe 2TB (System) / WD m.2 NVMe 4 TB (MSFS) / WD HDD 10 TB / XTOP+Saitek hardware panel /  LG 34UM95 3440 x 1440  / HP Reverb 1 (2160x2160 per eye) / Win 11

  • Commercial Member

Yes you really want 4 cores or LPs min for best results although three are OK. But moving the first thread with the task manager affinity setting once the sim is running would not normally produce a better result unless it's moved off of a well used core anyway.

Steve Waite: Engineer at codelegend.com

i5 2500K

GTX 970

 

I'm not really seeing much of a difference with these adjustments. Using frame lock in sim at 30 actually hurts performance. I get better stability setting frame lock to 30 in NI and Unlimited in the sim. 

  • Commercial Member

Yes, beware the locked setting generates look ahead frames and requires more or less double the fps showing at all times at Unlimited, to do it justice.

Steve Waite: Engineer at codelegend.com

Yes, beware the locked setting generates look ahead frames and requires more or less double the fps showing at all times at Unlimited, to do it justice.

I realize I am kind of a new comer to this but I am just looking to better understand.  So is this saying that by locking the frames the program basically tries to create smoothness by looking ahead several frames and saving them and throwing out the ones that are not needed?  Would these frames then be "wasted" if I decided to glance to the side quickly with trackIR or bank quickly in a high performance plane?

  • Commercial Member

No that would be stupid. Each frame is determined ahead of time. The terrain position, and aircraft physics, are calculated to be 1/30th second ahead at fixed 30fps, to generate the next frame. Then if there is spare time the next frame on will be calculated, so you get presented with the terrain in the proper position, but if the rendering slows down you may then get a pre-rendered frame. It's part of D3D. With Unlimited, each next frame is calculated based on the time it took to render the last frame, so more or less never correct and generally results in stutter, and poor panning fluidity.

 

If the sim can maintain above the monitor refresh rate then that would work OK. Also as the fps increases, the time between frames decreases and the need for such accurate timing of each frame diminishes.

Steve Waite: Engineer at codelegend.com

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.