Jump to content
Sign in to follow this  
avi8tir

Impact of Hyper Threading - On or Off?

Recommended Posts

I overclocked my 9900k to 5GHz last night. Pretty impressive. I loaded FSDT KLAX and QW 787-10. I have all ORBX products, Envex, etc etc etc. 

With a 4pm time which is approaching dusk, I saw around 22-25 fps. Not bad at all. 

After messing around a bit I turned off HT. Reloaded the same scenario. I actually saw a dip in FPS to around 18-20. 

I always thought HT Off would give an increase? I read a post recently where someone else with a 9900k saw a 25% increase in FPS. 

 

Any ideas? 

  • Like 1

Share this post


Link to post

I have a the same CPU and running 5GHz. 

I did not notice any increase in FPS / texture sharpness in P3D with HT on when I tinkered with those settings earlier this year.

CPU runs slightly cooler with HT OFF for obvious reasons, so that is a nice bonus 😁


EASA PPL SEPL ( NQ , EFIS, Variable Pitch, SLPC, Retractable undercarriage)
B23 / PA32R / PA28 / DA40 / C172S 

MSFS | X-Plane 12 |

 

Share this post


Link to post

My old 6700K @ 4.7 is significantly faster with HT off than ON.


Richard

7950x3d   |   32Gb 6000mHz RAM   |   8Tb NVme   |   RTX 4090    |    MSFS    |    P3D    |      XP12  

Share this post


Link to post

Comes up a lot.

Think of P3D (and FSX) as one task that requires uninterrupted throughput, accompanied by a number of tasks that take seconds to complete.

With HT disabled all those tasks lay out across the CPU one task per core.

With HT enabled we present to the sim what looks like two cores (LPs) per core (logical processors).

If those tasks use the LPs as cores then we see two tasks on the first core.

P3D v3 and v4 and FSX and FSX:SE all work slightly differently.

With HT enabled and low settings the system appears to run better as HT increases throughput across the CPU - higher fps.

However with more increasing settings the main task starts to share throughput with the task on the other LP. So a 20 % task on the second LP means only 80% on the first task - lower fps.

Instead we apply an Affinity Mask with HT enabled so that the system only shares out one of the LPs of the first core in use by the sim so that it avoids the share of the first core by moving the second task onto the next physical core.

Looking at fps is only showing how much throughput the first task is getting, not how much it can get. Looking at fps does not show how well the background tasks are working.

So we can have high fps when the background is inefficient but get stutters.

So an efficient background can reduce the fps slightly, but the sim is performing better overall.

 

  • Like 3
  • Upvote 2

Steve Waite: Engineer at codelegend.com

Share this post


Link to post
10 minutes ago, SAS443 said:

CPU runs slightly cooler with HT OFF for obvious reasons

IMO, that's the main reason to disable it with high overclocks.

Benefits of leaving it on are marginally quicker scenery and texture loading but on avg I've see a 5-7º increase in package temps.


Keep the blue part on top...

 

Ryzen 7800x3D | ASUS Rog Strix B650E-F | MSI RTX 4090 Suprim Liquid X | 64GB DDR5 6000Mhz RAM | 2x Samsung 960 M.2 SSD | 2x Samsung 850 SSD | NZXT Kraken x72 Cooler | EVGA 1000 PSU

Share this post


Link to post

I also have the same cpu.  I have found that running with HT off and an AM of 254 provides me with the best FPS and scenery loading times.  I use AM 1 on other tools/programs. No AM was slower!

 

 

Edited by DWadsworth

Dave Wadsworth
i9 13900K 5.5Ghz 64G DDR6000 nVidia 4090 
Win 11 22H2 Pro P3DV5.4 ASP/ASCA Pilot2ATC FS2Crew/TIR5/CP

Share this post


Link to post
18 minutes ago, avi8tir said:

I actually saw a dip in FPS to around 18-20... Any ideas?

Did you run identical conditions? (weather, camera angle, time of day, AI, etc...) Dawn/Dusk rendering is the most demanding time for graphics as the shadows and lighting are constantly changing.

  • Like 1

Keep the blue part on top...

 

Ryzen 7800x3D | ASUS Rog Strix B650E-F | MSI RTX 4090 Suprim Liquid X | 64GB DDR5 6000Mhz RAM | 2x Samsung 960 M.2 SSD | 2x Samsung 850 SSD | NZXT Kraken x72 Cooler | EVGA 1000 PSU

Share this post


Link to post

So the long and short of it is:

We can't simply turn off or on HT when we don't know what it is doing.

When we swap in and out HT enabled with no attempt to supply an appropriate AM, for either, our test fails to provide any kind of true answer.

Edited by SteveW
  • Like 1
  • Upvote 2

Steve Waite: Engineer at codelegend.com

Share this post


Link to post

When turning off HT improves the fps this shows that with HT enabled the first task was sharing. Naturally, turning off HT here would alleviate that condition in those cases Or even better, we supply an AM ending in  '01' which does the same thing without having to lose out on HT.

What about many cores, say 16 cores - do we need an AM there?

When we use no AM on many cores, like 10 or more we see another problem disabling HT cant help it, That is when any tiny bit of scenery is gathered, all the cores come to the fore when less than one core would do it. And in that case the CPU is saturated and causes a stutter. So we can use an AM there to stop that.

With tests on 18 core and 10 core 9900 class systems, using HT enabled and AM340 gives good results, that's only using four LPs. No AM is a disaster, HT on or off.

 

On a test harness - in the graphs below, same exact conditions each test:

Note that with no AM the CPU is maxing out all the time, than with AM340, on this six core with HT enabled. Giving the AM340 system overhead for more settings increases or a smoother ride:

HT340.jpg

 

So this comes up a lot and the eyes gloss over when reading about it.

 

 

 

 

Edited by SteveW
  • Like 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post
41 minutes ago, SAS443 said:

I have a the same CPU and running 5GHz. 

I did not notice any increase in FPS / texture sharpness in P3D with HT on when I tinkered with those settings earlier this year.

CPU runs slightly cooler with HT OFF for obvious reasons, so that is a nice bonus 😁

The point about running cooler suggests that the CPU is doing less work since heat output = work done on those CPUs.

When we don't supply an AM with P3D and FSX they consume the entire chip and that creates the excess heat without achieving more useful work. Excess threads don't gather more stuff faster since they all have to be handled. More tasks to do a small job increases heat and loads up the sim detrimentally. Instead we supply an AM to keep it cool and at the same time create the conditions for better performance as I show in the graphs repeatable on any system.

 

 

 

 

Edited by SteveW
  • Upvote 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Another important idea to factor in is what addons are installed which ones make SimConnect clients,  which ones are dlls that run in the core sim threads only to make a SimConnect client when they should be exe. Where the tasks of exe addons get placed by the Jobscheduler - did they start before the sim or during the sim loading or when the sim was commencing all make a difference.

That's why the recommended approach for more complex simulation systems is to 'partition' the sim from the addon exe apps with AM partitioning.

If we corral the exe addons onto cores with no simulator tasks we see better performance. It does depend on what those exe apps do, if they make a SimConnect client and whatever resources of the system they require.

System resources are called upon by P3D and FSX in a stronger way than most other games. And so they can benefit with the aggregated increase in throughput of a more expensive HT enabled system, but we need to apply the appropriate AM or see worse results.

 

 

Edited by SteveW

Steve Waite: Engineer at codelegend.com

Share this post


Link to post

So for a system with 6 cores for example a i7 8086k with HT on, is AM=340 a good starting point?

Share this post


Link to post

Yes six core or more AM340 is a good starting point.

Remember that fps is simply governed by the speed of the core and the number of things we get it to do per frame:

As we lower the object count that increases the fps, as we increase the core frequency that increases the fps.

As we move unnecessary work from the main core with Affinity methods we give more throughput to that task and that increases the fps.

As we DECREASE the available Logical Processors available to the simulation we decrease the number of tasks across the CPU and that increases the fps.

Conclusion: We need an optimum number of LPs used on any given system. We don't get that by simply turning HT On and Off.

  • Upvote 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post

We have one LP per core in HT disabled systems, and generally for desktop PCs 2 LPs per core in HT enabled systems.

As we increase the number of available LPs to the simulator we notice that the time taken to load the scenario decreases. From 2 to 3 we might see half a minute, from  3 to 4 we might see quarter of a minute. At some point that decrease in time taken becomes only a second or two. That is where the system saturated.

In other words we are gaining only a little but loading the system a lot.

We have one mother board so that can only handle the bandwidth of several LPs at once, but not all together so well.

In many cores systems we might see six cores at a time run really well, but introduce another core or two and then that's working the system into too much memory transaction swapping to remain so efficient.

When we look at the throughput of CPUs on one core they test with a program that stresses one core only. So that test has all the L3 cache (shared) available to that one process.

That increase in available cache increases the chances of memory transactions being queued up more favourably. This way we see more throughput with say a 9980 with 1.1Mb L3 per LP vs a 9900 with only 384k per LP at the same frequency. Incidentally this shows when we turn off HT we only see the cache available to one HT LP so we cut out the ability to do more work in the same time by disabling HT.

 

 

  • Upvote 1

Steve Waite: Engineer at codelegend.com

Share this post


Link to post

Remember that mathematically, an HT enabled system with the appropriate affinity settings will produce the more efficient simulation, but won't necessarily increase the fps much above that what is already achievable with HT disabled.

When we don't see better performance or a drop in fps with HT enabled or when getting a many cored system, that simply put, means it wasn't done correctly - metaphorically speaking you crashed. Flying planes is way more complicated I can assure you.

Edited by SteveW
  • Like 1

Steve Waite: Engineer at codelegend.com

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