Jump to content
Sign in to follow this  
martinlest2

FS2004 & CPU Core Affinity settings

Recommended Posts

OK, will do that. Thanks. (For an i7-950 with HT, I assume I need to use the 8 CPU file?).

Share this post


Link to post
Share on other sites

Yes, I edited the post as I realised it was a stupid question!

 

However, when I run the exe, I just get an error message...

 

:unknw:

 

Share this post


Link to post
Share on other sites

I notice you're using the /affinity switch in your batch file, meaning you're running Windows 7?  The /affinity switch will not work in Windows XP.  If you are using Windows 7, suggest using the method in the youtube video to set affinity.  Are you any good working with binary or hexadecimal? 

CPU / Binary bitmask

1st CPU = 0000 0001
2nd CPU = 0000 0010
3rd CPU = 0000 0100
4th CPU = 0000 1000
5th CPU = 0001 0000
6th CPU = 0010 0000
7th CPU = 0100 0000
8th CPU = 1000 0000

You want 2, 4 & 6?
 
0000 0010  2nd CPU
0000 1000  4th CPU
0010 0000  6th CPU
---------------  Add up the binary and you get
0010 1010  Convert this line to hexadecimal and you get:  2A

Try this in your batch or shortcut:

cmd /C Start "" /affinity 2A "D:\FS9\fs9.exe"

RJ

Share this post


Link to post
Share on other sites

Thanks a lot for the reply. I'll have another go (yes, the PC runs Windows 7 64-bit).

 

I did try the other exe files, yes. All the same error. In any case, the set affinity window that appears underneath the error (and closes when you close the error box) says' 8 CPUs detected).

Share this post


Link to post
Share on other sites

Are you any good working with binary or hexadecimal?

 

Short answer. No! Guess it'd be easy enough to learn. For the moment though I used your shortcut

 

cmd /C Start "" /affinity 2A "D:\FS9\fs9.exe"

 

This results in FS9 running on cores 1, 3 and 5 (according to processor Affinity in Task manager), with Core 1 running at virtually 100% and the other two cores idle. When I first tried your suggestion I had three cores running at about 40% each, but whatever I do I can't get it to work that way now, as I said above. Very odd...

 

Assuming for a minute that I do want FS9 to run on one core, as designed, Core 1 is not the right option, as that is just the HT 'incarnation' of Core 0. It would need to be on Core 2, or 4, or 6.

 

I'll try, in anticipation of a reply, have a look see if I can get my head around the hex editor!

Share this post


Link to post
Share on other sites

OK, don't need a hex editor. It's straight forward. In effect, I want Cores 2, 4 & 6. That 'translates' into (from your list):

 

3rd CPU = 0000 0100

5th CPU = 0001 0000

7th CPU = 0100 0000

_________________

Total = 0101 0010

8421 8421

4 1 2 = 52

 

But when I use 52, Task manager shows cores used for 1, 3 & 5. And again, the 'HT' core 1 runs at 100%, the others idle, so nothing is much gained (apart from moving FS9 off core0).

 

I can however get FS9 to run on Cores 2 & 4 (and they share the load 50/50) by using the value 14, so I will go with that for a while and see how FS9 runs. I read in another forum (the guy posted his fps results) that running 2 cores is better than 3, so worth a test.

Share this post


Link to post
Share on other sites

Martin, looking at your computer system specs, I can't understand why you spend so much time on this! Is FS9 that much of a performance hog to run properly on a modern computer system such as yours?

Share this post


Link to post
Share on other sites

As I stated above, I am interested in this not for FS9 performance, which is already great, but to even out CPU performance, so that one core is not running 15 degs hotter than others. It's not vital perhaps, but it is interesting... The more one tinkers (as long as it's reversible and one has an idea of what one is doing) the more one learns.

Share this post


Link to post
Share on other sites

I am not sure why people keep saying that FS9 will only run on one core despite all the evidence to the contrary. I assume they get their information/disinformation from the internet, just repeating what 'gurus' have said elsewhere. Are there any Intel or AMD CPU engineers posting here, or is it just 'internet hearsay'? (Yes, "sad": thanks for your 'helpful' contribution to the discussion, kdfw_). The tired old forums game of a few people trying to make everyone else look misinformed in comparison to them..

I'm not an Intel or AMD CPU engineer, nor do I need to be. This is a software issue, not a hardware issue, how a kernel assigns instructions to different CPU cores. You cannot magically divide a single thread across multiple cores on Windows or Linux. My employers wish it could be done - they could pay me a lot less!

 

What you see in the graphs, yes, is two cores getting used. Note VERY CAREFULLY that the overall CPU usage isn't changing. Instead of a single core pegged, you've got two cores at 50%. The overall amount of work getting done over time isn't changing. Getting the operating system to constantly move a thread's execution between cores isn't particularly interesting. In fact, it HURTS performance because you cannot take advantage of the L1 and L2 caches on the processor if you're constantly going between cores! (As people point out, there is a benefit - you even reduce the heating between cores, but with any decent cooling system that shouldn't be an issue.)

 

I'm not sure why people persist with this. It's been well-known that the NT kernel schedules on a per-thread basis for 20 years now.

 

Cheers!

Luke


Luke Kolin

I make simFDR, the most advanced flight data recorder for FSX, Prepar3D and X-Plane.

Share this post


Link to post
Share on other sites

I don't disagree with any of that, but running the CPU with the hardest working core a good 15 degrees cooler (core temp down to around 45 instead of 60 - even though 60 is well within specs, I know) than before can be no bad thing. Sure, if I see a performance hit, I'll ditch it, but as it is I still get 60fps, and ground textures & REX clouds load just as fast, so I don't see anything but an advantage here.

 

Maybe that's why people persist with this?

 

Martin

Share this post


Link to post
Share on other sites

Perhaps. If the temperature is very important to you and you're aware of what you're doing, sure.

 

I will point out for other readers that so long as you're running the CPU within specs and you don't have any other thermal issues to worry about, there's no advantage to keeping the CPUs cooler. You're running a Bloomfield CPU; which is three generations behind Haswell now. The biggest threat to your CPU is obsolescence, not heat. :)

 

Cheers!

Luke


Luke Kolin

I make simFDR, the most advanced flight data recorder for FSX, Prepar3D and X-Plane.

Share this post


Link to post
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
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...