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.

Intel Hyper Threading - on or off?

Featured Replies

  • Commercial Member

When i open up Task Manager i can see 12 towers,  as my machine is 6 core i now know Hyper Threading is on.  I did try the calculation before but i might as well of been counting sheep. 

I do read all the threads relating to it though and will try again, it does make sense. I will check out the link.

I updated that link with this:

 

Here we have a 6 core with HT enabled, showing AM=3392, vs AM=0 (no JOBSCHEDULER section).

 

With 3392=(11,01,01,00,00,00) we can see the first P3D thread on LP6 has an unused partner LP7. With no AM or AM=0, the first P3D thread shares a core with another losing around 10% in overall performance. Tests made with small sim windows (not on fullscreen windows).

 

AM3392AM0.jpg

 

Here from LM..

LM put in a bunch of code since version 2.3 so you don't need to play with affinity masks anymore.

I refer you to the result in the image above.

Steve Waite: Engineer at codelegend.com

  • Replies 75
  • Views 28.3k
  • Created
  • Last Reply

Top Posters In This Topic

As I use addon software like : IflyServer , Opus ( for the Buttkicker ) , IflyToFsuipc, IOCP Ifly 737 ( like Fsuipc ) and Sioc ( Open Cockpits )

it probably would be best to use :

 

AM=1360 --> 01,01,01,01,00,00

or

AM=360 ---> 00,01,01,01,01,00

 

and assign the addon software to LP2-3  or LP 10-11

 

 

Or even try with AM=3392, like in your example and use LP6 + 7 for addon software.

 

Correct ?

5950x3d 5.4-5.7 GHz - Asus ROG 870 Crosshair Apex - GSkill Neo 2x 24 Gb 6000 mhz / cas 26 -  MSI RTX 5090 Gaming Trio OC - 1x SSD M2 6000 2TB - 1x SSD M2 2800/1800 1Tb -  Corsair 5400  case - Corsair 360 liquid cooling set  - 3x 75’ TCL tv.

13600  6 cores @ 5.1 GHz / 8 cores @ 4.0 GHz (hypterthreading on) - Asus ROG Strix Gaming D - GSkill Trident 4x Gb 3200 MHz cas 15 - Asus TUF RTX 4080 16 Gb  - 1x SSD M2 2800/1800 2TB - 2x  Sata 600 SSD 500 Mb - Corsair D4000 Airflow case - NXT Krajen Z63 AIO liquide cooling - 

FOV : 200 degrees

My flightsim vids :  https://www.youtube.com/user/fswidesim/videos?shelf_id=0&sort=dd&view=0

 

  • Commercial Member

Pretty good Gerard. If you look at the graphs in the top half of the image, it can be seen that another process springs into action (a small peak appears around 30% in from the right). Just a hint appears on LP7 (the same core as the P3D main thread on LP6), but instead it is realised in the other less used cores very quickly by the jobsheduler.

 

As long as we lay out our P3D setup well in the first place, the others will generally take care of themselves. However, as you say you can apply affinity to other apps and improve things if need be.

 

I've not shown the result of too many threads messing up the flow of the main thread which is reason to use an AM number two, and goes as well for HT disabled. But the prime reason we use an AM with HT enabled is because we want to see that nice blank graph next to the main P3D graph.  :dirol:

Steve Waite: Engineer at codelegend.com

Let me ask this then -  again not trying to be inflammatory.

 

In your chart above AM=0 , how do you know that it is the Prepar3D process that is causing the small activity in the hyperthreaded LP without actually looking at it with processmonitor or some other tool?

 

After P3D started then whats to say Windows then didn't push other programs to the hyperthreaded LP because P3D took the "real" LP?

Steve McNitt
  • Commercial Member

I got 52 threads across all LPs showing owned by P3D, and an AM=0, and 41 threads across 4LPs and an AM=3392.

Steve Waite: Engineer at codelegend.com

Hello guys...Its a pity we can't have a measure of our systems in order to know what we can achieve at the first place. I am also kind of confused. Yesterday, I did a flight from Edinburgh to Southampton using FTX scenery and the Majestic Q400 using unlimited. I used high scenery settings (Rob's 4K actually). Results:

 

Panning with TIR was better than fixed FPS. This smoothness of head motion adds to the realism that is for sure... Landing was not smooth at all. Actually it was very bad performance I didn't enjoyed it at all because I couldn't guide with precision the plane to the runway, giving me about 20-25 fps. Then I tried the same situation using a target of 30fps. Same awful result full of stutters. So we should admit..our systems are limiting us whether we like it or not. I think I run a powerful setup but it can't handle a smooth approach on EGHI using all FTX eye candy on a Q400. I am not satisfied with that because there is only one solution, and this is not to use limited or unlimited. I have to reduce my settings. And this test was with vanilla Nvidia CP and NI. I will only be satisfied with fluidity on a non-autogen sim...

Simulators: Prepar3D v5.4  | X-Plane 12 | DCS  World  MSFS 2024 | 
PC Hardware: Dell U3417W AMD Ryzen 7 9800 X3D | ASUS TUF 5070 Ti ASUS TUF B580 Plus Wifi | G.Skill Z5 Neo 64GB 3000Mhz CL30 | Samsung 990 Pro 2TB + 970 EVO Plus 1TB + 860 EVO 2TB + 850 EVO 1TB, Western Digital Black Caviar Black 6TB Corsair RM1000i Corsair 280 Titan RX | VRM Fan | Fractal Design Define S2 Gunmetal |
Flight Controls: Fulcrum One Yoke Virpil VPC WarBRD Base Virpil VPC MongoosT-50CM Grip, Thrustmaster Warthog+F/A-18C Grip VIER IM POTT Sidestick CPT Side | Thrustmaster TPR Rudder Pedals | Virtual Fly TQ6+Throttle Quadrant | Sismo B737 Max Gear Lever Monsterteck Desk Mounts WINWING EfisL+FCU+MCDU |
My fleet catalog: Link                                                                                                                                                       

  • Commercial Member

Hello guys...Its a pity we can't have a measure of our systems in order to know what we can achieve at the first place. I am also kind of confused. Yesterday, I did a flight from Edinburgh to Southampton using FTX scenery and the Majestic Q400 using unlimited. I used high scenery settings (Rob's 4K actually). Results:

 

Panning with TIR was better than fixed FPS. This smoothness of head motion adds to the realism that is for sure... Landing was not smooth at all. Actually it was very bad performance I didn't enjoyed it at all because I couldn't guide with precision the plane to the runway, giving me about 20-25 fps. Then I tried the same situation using a target of 30fps. Same awful result full of stutters. So we should admit..our systems are limiting us whether we like it or not. I think I run a powerful setup but it can't handle a smooth approach on EGHI using all FTX eye candy on a Q400. I am not satisfied with that because there is only one solution, and this is not to use limited or unlimited. I have to reduce my settings. And this test was with vanilla Nvidia CP and NI. I will only be satisfied with fluidity on a non-autogen sim...

So the question being, was your AM at fault? This seems to be a tale of trying to use the look ahead buffer with far too much image quality to allow it, 30 fixed requires a powerful system. Was this related to your AM, or just too high settings? Use of the fixed setting requires careful tuning or it does not work, as reported around the forums constantly.

Steve Waite: Engineer at codelegend.com

  • Commercial Member

 

The question is whether to use HT enabled or disabled. The discussion has matured to a point whereby we understand that an app may spawn dozens of threads through the use of the operating system features. Like networking for example, since P3D is network bound and requires good network throughput.

 

If we partition a CPU for that app with the affinity mask we are restricting the use of cores for those threads. We can reduce the performance of the app doing that if we don't know what we are doing.

 

Remember with HT=On we find we have ganged pairs of logical processors (LPs) that share a real core, in some circumstances we may want to avoid sharing that core. With some apps, especially games, we often have a monolithic process that runs as fast as possible, let's call it the game loop for argument's sake (games are more complex than that). We can see that in both the graphs above, LP6 in the upper set, and LP0 of the lower set.

 

In the upper set we have managed to get the jobsheduler to allow it maximum throughput, as can be seen when the other app starts 30% from the right (I scheduled and started a test app), the extra work is transferred to cores with less overheads by the jobsheduler. In the lower graph, there are threads from all parts of the system competing with the main P3D process on LP0 and the performance is reduced somewhat.

 

We use an Affinity Mask to help the OS choose LPs for the app when it starts up. P3D (and FSX) creates it's own threads as well as invoke other threads from OS resources. The app starts its main thread, the jobsheduler allocates an LP, the next thread it makes would be targeted to the adjacent LP if it is not masked, so we use the mask and the next threads can start on the next physical core. Subsequent threads spawned by the app will move along to other unmasked LPs if available. Once the app is in full swing other processes will be targeted to lesser used cores by the jobsheduler, as can be seen in the graphs upper set. We can't mask off too many LPs because there will probably be other threads invoked by the system that need breathing space. Never leave a complex app with less than 2 LPs in the mask or serious performance issues can arise especially due to networking resources.

 

 

This problem of sharing an HT core running the main sim process leads to poor performance with locked frames, just as using too much high settings does.

Steve Waite: Engineer at codelegend.com

Ok....ok.....now I'm Thoroughly confused....  :P

 

I'm using a 3770K....AM is set to 84 right now.  HT=OFF

 

Is that correct?

 

FaxCap

  • Commercial Member

I'm using a 3770K....AM is set to 84 right now.  HT=OFF

 

Is that correct?

NO. Always use HT=On unless pushing for very high OC (and that's another debate). Also using an AM=84=(0101,0100) with HT=Off, means you've masked off 3 cores. Turn on HT for AM=84, or if you want HT=Off, choose a mask of zero (or remove the jobsheduler section) or try an AM=14=(1110).

Steve Waite: Engineer at codelegend.com

Ok, thanks Steve.

 

HT=ON now.  I will test AM=0 and see if P3D auto settings works better than AM=84.

 

FaxCap

  • Commercial Member

HT=ON now.  I will test AM=0 and see if P3D auto settings works better than AM=84

P3D auto settings is equivalent to setting AM=0, or 255=(11,11,11,11) on your HT enabled 4 core

 

Can also try: 212=(11,01,01,00) or 245=(11,11,01,01), or 253=(11,11,11,01).

 

...things pan out differently depending on monitor number and size, autogen, photo-real, weather intensity, etc. That's why a range of setups should be tried.

Steve Waite: Engineer at codelegend.com

Ok great....printed those for reference.

 

Thanks, Steve

 

FaxCap

  • Commercial Member

Cool. Part of the thought process says; if we restrict the use of the cpu to less cores or LPs, it will intensify work done on those processors. That way the jobsheduler looks for lesser used cores, or LPs, to place new tasks. However, if the cores we restrict to get maxed out, we could be losing performance that we could gain back on other cores. Except for the main task (see the graphs), we can't spread the main task to other cores, so we ensure our other sim threads don't start up on the HT partner LP of the same core when the sim starts.

Steve Waite: Engineer at codelegend.com

I just started using an affinity mask of 150401 in my I7-5960X (8 core/16 thread) I'm now getting 60 FPS locked with high settings, smooth as butter.

Steve McNitt

Create an account or sign in to comment

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.