Jump to content

CFG Query


c.r36156636

Recommended Posts

Hi all I know there's hundreds if not thousands of threads across the various sites about CFG tweaking but I just wanted to try and clarify a few things for myself as I'm seeing so many differing opinions and answers..

 

I know FSX was designed to use just a single core for the bulk and then spread some scenery loading to the other physical cores. However I have noticed that many posts say that FSX should primarily be using Physical Core 1 for the bulk work but I have noticed that mine does not. Mine runs mainly through physical Core 4 or Core 6 as I have Hyperthreading enabled on my system. I'm assuming this does not matter but just wanted to check.

 

The second is about FSX' ability to use Hyperthreading. once again many threads with many differing opinions. I have the common

 

[JOBSCHEDULER]

AffinityMask=3903

 

Within my CFG file if I'm not mistaken this mask should stop FSX from using Physical Core 4 but allow it to use the other 5 physical cores and there Non-Physical HT counterparts if FSX can:

 

3903.JPG

 

Even with this mask FSX still uses physical Core 4 is that supposed to happen ? Probably nothing wrong here as FSX runs just fine and I am able to get a smooth 38-40FPS using this mask but just seemed odd that no matter what I do it still uses Core 4 for the bulk but I can see it spreading some of workload out evenly to all other cores inclining the Non-physical HT cores.

 

Is anyone able to clarify any of these for me please ? like I said I'm not getting any issues in game just wasn't sure what to believe as there so many opinions out there.

 

Thanks !

ASUS ROG STRIX B550-F Motherboard, AMD Ryzen 5 3600X 3.8-4.4GHz, 16GB Corsair Vengeance LPX 3000MHz RAM, 1TB Kingston NV1 SSD, 1TB Seagate BarraCuda HDD, 240GB Maxtor Z1 2.5" SSD, MSI Radeon RX 5600 XT.
Link to comment
Share on other sites

To use Hyperthreading or nor is not a question for FSX, but for the motherboard's BIOS. FSX will take what is thrown at it.

 

But, you have to set the AffinityMask correctly. This is the calculator I use:

 

https://www.gfsg.co.uk/affinitymask.aspx?SubMenuItem=utilties

 

So, on my I7-7700K, with Hyperthreading off (which seems to be the current consensus) my AffinityMask value is 14.

 

Jorgen

Link to comment
Share on other sites

Thanks for replying, I used:

 

http://store.fsxtimes.com/cal-cam.php

 

To calculate the Mask Number. I am running with an AMD Ryzen 5 3600X CPU with hyperthreading enabled. What setting would you recommend trying with the Affinity mask ?

ASUS ROG STRIX B550-F Motherboard, AMD Ryzen 5 3600X 3.8-4.4GHz, 16GB Corsair Vengeance LPX 3000MHz RAM, 1TB Kingston NV1 SSD, 1TB Seagate BarraCuda HDD, 240GB Maxtor Z1 2.5" SSD, MSI Radeon RX 5600 XT.
Link to comment
Share on other sites

Your CPU is a 6 core, 12 thread CPU.

 

Cores are the physical CPUs withen the whole chip die.

 

Logical cores are the threads per core. You have two per physical core.

 

What you are seeing there is correct. FSX will use core 1. Your cores start from 0 to what ever. 0 is meant for side jobs so to speak, so that's why the programmers at Microsoft made FSX use core 1. The second core.

 

Now your CPU has two threads per physical core. In the Task Manager CPU graphs you are seeing what you think is a core 4, but that's just thread 4 from core two. 1 to be specific. Remember, FSX doesn't use core 0, only core 1. Thread 4 would be the second thread in core 1 which makes since because FSX is a single threaded game and is only coded as such. It can not utilize more than one thread. The era of hyperthreading CPUs came out long after FSX was coded and released.

 

On what you say is core 6, this is just core 3 ( 2 to be specific. Remember start from 0). The sixth thread is in physical core 2.

 

So lets refresh. What you are seeing is CPU activity on cores 1 and 2. Core 0 is for minor stuff.

 

The Task Manager only shows two types of CPU graphs. One that shows the whole of the die (CPU), and another that shows all threads and cores. So it makes it hard to see what core or thread is doing what. To change graph views right click inside the CPU graph. You could try a program called HWiNFO64 and it may list what each core and thread are doing. Don't use the driver links in HWiNFO64 as they are just paid-for advertisements that go to garbage websites. Just use the program for computer information. As always, scan ALL downloads at Virus Total.

 

Here's quick drawing of what I'm talking about since I know this may be very confusing.

 

 

 

 

 

mWLlKbr.jpg

Edited by CRJ_simpilot
Link to comment
Share on other sites

And I see I spelled physical wrong in the image. Oops! :eek:

 

If you really want to fine tune the living hell out of FSX, then read this. LOL

 

 

 

VejwGNY.jpg

Edited by CRJ_simpilot
Link to comment
Share on other sites

So is the AffinityMask setting in FSX a waste of time? I have read that its better to just delete the whole [JOBSCHEDULER] entry from the .cfg

i5 4690 (350mhz) with Arctic Cooler, 32GB Patriot Viper 1600mhz, ASUS Rock H97 performance MoBo, MSI Ventus XS OC 1660GTX 6GB, Windows10 64bit, 256GB and 500GB Crucial SSDs

Link to comment
Share on other sites

No, AffinityMask should certainly be set, and the document that CRJ links to makes perfect sense - thanks a LOT for fin ding that gem, CRJ!!!

 

It also makes a good case for setting Hyperthreading to on, whereas many others argue that Hyperthreading should be off.

 

Specifically, the document points out that for my 4-core i7-7700K, with Hyperthreading off I should set the AffinityMask to 13 or 14 (I had it on 14 with HT off), and with Hyperthreading on it should be 116 (3 cores used) or 170 (4 cores used).

 

I have switched to HT on now, and set AffinityMask to 170, I will check how that works.

 

Jorgen

Link to comment
Share on other sites

So is the AffinityMask setting in FSX a waste of time? I have read that its better to just delete the whole [JOBSCHEDULER] entry from the .cfg

 

No, it doesn't need to be set. The primary use for setting the affinitymask is to help reduce conflicts with other running processes, if there are issues. Otherwise why reduce the resources available to the sim? Windows itself has gotten much better at balancing processes between cores as well.

 

Can't find the original blog post from Aces, but I recall FSX was designed to ignore the hyperthread cores (which came out a couple years before FSX) and only use the physical cores. Here's one post that mentions it, but they did have another that confirmed it for the final release.

 

https://docs.microsoft.com/en-us/archive/blogs/ptaylor/fsx-sp1-newsintel-quote

Link to comment
Share on other sites

I looked at the article that Loki linked to, and stumbled upon this line:

 

"As far as the release date for SP1, we need to get Beta2 out " - in my interpretation, that means the article was written as Beta 2 of FSX SP1 was getting ready for release, again meaning that a lot of things could have changed after that point (SP2, Acceleration).

 

Be all that as it may, with HT on and AffinityMask set to 170, I (subjectively) get better performance in my FSX installation than with HT off and AffinityMask at 14. I need to experiment further with this.

 

But also remember, that when preparing Windows Update Microsoft reportedly has to take 16 million different computer configurations into consideration, so that the settings that give one user a great experience may give another a not-so-good experience....

 

Jorgen

Link to comment
Share on other sites

I looked at the article that Loki linked to, and stumbled upon this line:

 

"As far as the release date for SP1, we need to get Beta2 out " - in my interpretation, that means the article was written as Beta 2 of FSX SP1 was getting ready for release, again meaning that a lot of things could have changed after that point (SP2, Acceleration).

 

There was a later post from Phil Taylor that confirmed the final SP2 version of FSX would ignore hyper threading itself, just haven't read through all of them again.

 

Have you tried no affinitymask at all in your config? FSX will set it internally on its own. My main point is that this is not needed for all, and to me the default for most people should be to leave it out. If there are performance issues with the sim, primarily ones caused by the sim and some other running process on the computer conflicting with each other, then it can be worth looking into.

Link to comment
Share on other sites

There was a later post from Phil Taylor that confirmed the final SP2 version of FSX would ignore hyper threading itself, just haven't read through all of them again.

 

I really wonder how much of this remains relevant today. HyperThreading on a modern CPU is very different from the P4 variant of SMT that was around when FSX was released.

 

Have you tried no affinitymask at all in your config? FSX will set it internally on its own.

 

It will just let the operating system kernel scheduler decide, which is the best way to do it.

 

Cheers

 

Luke

Link to comment
Share on other sites

I really wonder how much of this remains relevant today. HyperThreading on a modern CPU is very different from the P4 variant of SMT that was around when FSX was released.

 

Both the hardware side of SMT as well as Windows' scheduling certainly have changed and improved over the years, however, FSX being designed to ignore the additional logical cores would prevent it from fully taking advantage of the improvements.

 

It will just let the operating system kernel scheduler decide, which is the best way to do it.

 

Yep, for most people this will be the best option.

Link to comment
Share on other sites

Allow me to quote myself:

 

"Be all that as it may, with HT on and AffinityMask set to 170, I (subjectively) get better performance in my FSX installation than with HT off and AffinityMask at 14. I need to experiment further with this."

 

Either setting gives better performance - again, on my system - than having no AffinityMask set.

 

Jorgen

Link to comment
Share on other sites

  • 2 weeks later...

mWLlKbr.jpg

 

Thanks for the information. Forgive me if I'm being stupid here, I'm just trying to get my head around this as I'm just trying to smooth our the sim as I keep getting a stutter every few seconds.

CPU.JPG

 

This is a screen grab from the task manager with just FSX and the Task Manager running and no Affinity set for FSX. The bulk of the work is going through "CPU6" according to my Task Manager. So I'm assuming that CPU6 is the same as thread 6 ?

ASUS ROG STRIX B550-F Motherboard, AMD Ryzen 5 3600X 3.8-4.4GHz, 16GB Corsair Vengeance LPX 3000MHz RAM, 1TB Kingston NV1 SSD, 1TB Seagate BarraCuda HDD, 240GB Maxtor Z1 2.5" SSD, MSI Radeon RX 5600 XT.
Link to comment
Share on other sites

Thanks for the information. Forgive me if I'm being stupid here, I'm just trying to get my head around this as I'm just trying to smooth our the sim as I keep getting a stutter every few seconds.

[ATTACH=CONFIG]224432[/ATTACH]

 

This is a screen grab from the task manager with just FSX and the Task Manager running and no Affinity set for FSX. The bulk of the work is going through "CPU6" according to my Task Manager. So I'm assuming that CPU6 is the same as thread 6 ?

 

What you're seeing in Task Manager are logical cores (threads), not the physical cores. See how you have 12 graphs? Each one represents a thread, 2 per core. You have 6 physical cores. So thread 7 is core 3. Refer to my diagram.

 

Not sure why core 3 is being used other than the fact you have hyper threading on and the setting in your FSX.cfg file.

 

FSX should be using core 1. Not core 0, core 1.

tgrhfr.jpg

Edited by CRJ_simpilot
Link to comment
Share on other sites

What you're seeing in Task Manager are logical cores (threads), not the physical cores. See how you have 12 graphs? Each one represents a thread, 2 per core.

 

You're mixing and matching terms incorrectly. He has 6 physical cores, which use SMT to each appear as two logical cores. Cores (physical or virtual) are NOT threads. As you can tell he has 2,779 threads across all processes, not 6 or 12. Many threads, of course, are sleeping.

 

Luke

Link to comment
Share on other sites

So in a nutshell you have a thread that describes a logical core at the CPU level.

 

A thread is also used to describe the execution of code withen processes at the OS level, and processes can have more than one thread.

 

Another use case for the word "thread" is in the forum software called vBulletin (which is what this site uses) where each topic created is called a thread. In the forum software I use called phpBB, threads are not threads, they are simply called topics. There's other forum software out there like SMF (Simple Machines Forum) which may use the term thread or topic. I'm not sure which.

Edited by CRJ_simpilot
Link to comment
Share on other sites

Don't quote random internet articles designed for laypeople. Those articles are taking about physical and logical CPU cores, but using "Cores and Threads", hence your misunderstanding.

 

CPUs don't care about processes or threads, they are simply OS constructs that define different units of execution and visibility. As a general rule, threads share a memory space, processes do not, but I expect that can differ based on the OS. All a CPU cares about is a stream of instructions fed to it, and whether it can do a certain action (read/write memory, execute code at a certain space). Whether those are different threads or processes is something it neither knows nor cares about. Your second paragraph is correct in this sense.

 

But a thread is not a logical core at all, even if some tech journalists call it such. Most have no idea how to actually write code and repeat other stuff they've seen with no idea of its accuracy.

 

Luke

Link to comment
Share on other sites

It's analogous to how people interchangeably use IDE to describe PATA. Yet many don't know IDE describes both PATA and SATA. In this sense, when I say thread, I do mean logical core. And many other will too. Including "random" articles.

 

PS: Why don't you take her place? https://www.tomshardware.com/author/scharon-harding LOL! Send her a tweet in absolute disgust.

Edited by CRJ_simpilot
Link to comment
Share on other sites

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...