PDA

View Full Version : Opinions on cpu for FSX?



AK Mongo
01-17-2011, 12:36 PM
I am looking at specs for building a new system.

I am running FSX with low settings and a few scenery add-ons and aircraft. I would love to be able to add some traffic and/or weather with acceptable frame rates (25+). 95% of my flights are VFR in Cessna's.

As I understand it, FSX is CPU bound and will not take advantage of multi-core processors, and that CPU speed is paramount in performance, with RAM amount being secondary and video cards being tertiary in affecting performance. (Please correct if this is not true in your experience).

The new Intel Sandy bridge processors look like they may be great for price vs. performance. They seem to be very overclockable, thus helping the CPU issue.

I am looking at the 2600K right now. Any thoughts?
http://www.newegg.com/Product/Product.aspx?Item=N82E16819115070

Sean Nixon
01-17-2011, 03:50 PM
I believe FSX was patched to take more advantage of multi-core processors.

vyper883
01-18-2011, 04:17 AM
Core i7 quad core processors work great with FSX, and YES you can configure to use multi cores efficiently. Open up you FSX.cfg file and add this entry under the paragragh [JOBSCHEDULER]
Enter this:---------> AffinityMask=14

This tells FSX to utilise the last three cores (core 1 core 2 core3). Now most would ask, why not all four? Because Core 0 is bound to FIBERS and the main scheduler, which can not be unbound from that core, no matter how many cores you assign to FSX. That way core 0 is not tasked with anything other than the fibers. If you were to set AffinityMask=15,(all four cores) then core 0 would have the heaviest load, which will create stutters. Make sure you have HT disabled in your bios.

Aaron
01-18-2011, 05:09 AM
And go for I7 930 (cheapest on 1366), wich can be overclocked easily up to 4.0 Ghz with no problem (air cooled).

As vyper883 says, hyperthreading must be disable in your BIOS. FSX dont take any advantages of it.
Hyperthreading increases A LOT the CPU temperature and this is what you dont want to get it work at 4.0 (or even more) ghz. Of course, dont make any overclooking AFTER everything was running perfectly, and never during OS installation.

ASUS P6T and Gigabyte Ga-ex58-ud5 are the choices for motherboard.

Also you must read a lot over the web (including this forum) searching about Jesus Altuve (Bojote on avsim), UsePools=0, highmemfix=1, etc. to get the max on your I7 + great VGA in FSX conditions.

Matt Olieman
01-18-2011, 09:19 AM
Thanks for the fantastic response.

VYPER883, so if you have 6 cores, you want to use 5 cores? The setting should be AffinityMask=16?

Matt Olieman

blueskydriver
01-18-2011, 11:41 AM
postedited

Neil Hewitt
01-18-2011, 11:46 AM
As far as I am aware, FSX only uses extra threads for texture pre-loading; all of the work to draw the screen including all windows, AI traffic, autogen etc is done on a single thread. I stand to be corrected, of course, but this is based on my reading of the information surrounding SP2.

That being the case you ideally want the CPU that can run a single thread the fastest. At the moment that would probably be the higher-end Sandy Bridge i7s. With Turbo Boost and (if you get an unlocked K model) multiplier control, you can get this to 4GHz or more on the busiest core with air cooling. With water, maybe 4.5GHz. That'd be several times as fast as the fastest computer available when FSX was released.

Going to be expensive, though. You need a new motherboard for Sandy Bridge (Socket 1155). Of the current crop, some of the Core i5 range will turbo boost a single core to nigh-on 4GHz.

The real problem for us these days is that the quoted clock speed of a CPU need not match what you'll actually see in use. With Turbo Boost and Speed Step, your true speed could be quite different. Case in point; I bought a new laptop recently which uses a Core i7 420 QM. This has a standard clock speed of 1.8GHz, which sounds a bit weedy (albeit a Core i7 does more per cycle than a Core 2 in many circumstances). But on mains power with Speed Step turned off, the busiest core will step right up to 2.93GHz, which means that it beats the pants off my other Core 2 tablet PC which runs at 2.6GHz natively.

I saw a mention on Wikipedia (thus, take with a large pinch of salt) that Intel had demonstrated a Sandy Bridge Core i7 K edition with the multiplier bumped up to 4.9GHz on air cooling. I'll believe that when I see it, but you should certainly be able to get well past 4GHz. Once the costs of the K edition come down a little I'll probably build one out and see how far you can push FSX on it.

AK Mongo
01-18-2011, 01:06 PM
Thanks for all of the input! Keep it coming.

cambrils
01-18-2011, 01:52 PM
If your current system is not based on Core i7, Sandy Bridge 2600k is the choice IMO. You'll be able to put the sliders almost to max without stutters, and the price for the whole setup MotherBoard+CPU+Memory will be similar than current Core i7 ones.
Jose

Peter Dowson
01-18-2011, 02:27 PM
... so if you have 6 cores, you want to use 5 cores? The setting should be AffinityMask=16?
No. 16 is binary 10000 which means you are only using core 0 (which you can't stop) and core 4. To use the 5 other cores the binary is 111110, or hex 3E, or decimal 62. Each bit in the binary enables a core.

This assumes you have hyperthreading off in the BIOS. Otherwise there are 12 bits with every other bit being a pseudo-core.

Pete

gandofalcon
01-18-2011, 03:16 PM
http://www.venetubo.com/fsx.html, visit this page and fun

AK Mongo
01-18-2011, 07:27 PM
http://www.venetubo.com/fsx.html, visit this page and fun

Just used this for my old machine, let's see how it works. It seems too good to be true!

vyper883
01-19-2011, 12:26 AM
Check out this thread at FDS:

http://www.flightdecksolutions.com/forum/viewtopic.php?t=4205

John

Incidently, that is MY thread on FDS LOL

vyper883
01-19-2011, 12:43 AM
Thanks for the fantastic response.

VYPER883, so if you have 6 cores, you want to use 5 cores? The setting should be AffinityMask=16?

Matt Olieman

Hi Matt :)
No, it's a binary value. AffinityMask=16 would tell FSX to use JUST the 5st core, as fiber scheduling is tied to the first core, so would everything else You would have five unused cores, which is NOT what you want. In Binary (think of it as an on=1 off=0) but the binary values are inversed a value of 16 would look like so: "10000" (on off off off off off) when in reality core function-wise it would be (off off off off on) The binary value would be read right to left. A good example is here:

DECIMAL VALUE----------------BINARY BIT MASK-------CORES IN USE
1------------------------------------00000001-----------------core0
3------------------------------------00000011-----------------core0,1
7------------------------------------00000111-----------------core0,1,2
15----------------------------------00001111-----------------core0,1,2,3
31----------------------------------00011111-----------------core0,1,2,3,4
63----------------------------------00111111-----------------core0,1,2,3,4,5
127---------------------------------01111111-----------------core0,1,2,3,4,5,6
255---------------------------------11111111-----------------core0,1,2,3,4,5,6,7





For instance if you wanted to use all six cores, you would enter AffinityMask= 63 in binary that is 111111 (six ones) . However as of service pack 2 FSX IS multi core aware, and assigning an affinity mask of all your hardware cores, will do nothing.

What the affinity mask setting IS good for is telling FSX WHICH cores to use. As I said earlier, the fiber frame scheduling is BOUND to core 0. Since fibers is one of the heavy hitters in FSX, why not isolate it from everything else? For instance to assign five cores, you would enter AffinityMask=62 leaving Core 0 alone with the fiber scheduling.

Also, to avoid thread collisions, turn off hyperthreading, as FSX does NOT support it.

EDIT:
Here is how it works:

Code:
1st(Core0)=1
2nd(Core1)=2
3rd(Core2)=4
4th(Core3)=8
5th(Core4)=16
6th(Core5)=32
7th(Core6)=64
8th(Core7)=128

Keep in mind, that core 1 is refered to as "core 0" core 2 as "core 1 and so on, as far as the OS goes. Now here is how you calculate your Affinity mask. for example:

You want to use 5 out of six cores, but want the first core (core 0) free. look at the corresponding values for each core you want utilised, and add them up. 2 + 4 + 8 + 16 +32 = 62. So in your case Matt your entry would be like so:

[JOBSCHEDULER]
AffinityMask=62 In Binary that would be 111110, but you would read the binary from RIGHT to LEFT. The last zero at the end of the binary represents the "off" or free state of the first core (core 0)

FSX will still use all six, but core 0 will only run the fibers, thus having a "more" so-to-speak equal load across your physical cores.

Now, BE CAREFUL with the math here- some people can get confused. If you had an 8 core processor(which does not exist on the market yet) and wanted to free up the first core (core 0) the AffinityMask would be 254.
A six core would be=62 with core 0 free
A four core would be=14 with core 0 free
A dual core would be=2 with core 0 free

Now, assuming you want ALL cores on FSX straightforward (virtual cores notwithstanding):

8 core CPU= 255 Affinity value
6 core CPU= 63 Affinity value
4 core CPU= 15 Affinity value
2 core CPU= 3 Affinity value

I only post the above ALL CORE Affinity as an example to give a better understanding of the math. FSX will use all cores by default, so setting those affinities will make no difference.


You can of course experiment with different core combos to see what works best for you. I hope you find this helpful. :)

vyper883
01-19-2011, 12:57 AM
@ AK MONGO

http://www.venetubo.com/fsx.html

That is Jesus Altuve's tweaker. How well it works for you, will depend how old your machine is. Newer PC's with multiple cores, and videocards with 2GB will benefit the most. YMMV. If you want to try it, make a backup of your fsx.cfg first, in case you want to revert.

There is a link at the bottom of that page for the shader 3 mod. Give it a try. An ATI card will benefit more than an Nvidia car will. I have an nvidia card and I like the subtle improvement in the fog effects, and water reflections are a nice touch. The only thing you may not like is zooming out of top down view, as the more you zoom out, the hazier it becomes. Give it a try though you might like it, if not, there is an uninstaller tool, ans is completely reversible.

Also the shader 3 tool has it's own entry in your program files start menu. There is an option there, to flush the shader cache. You can use this every time you make changes to your fsx.cfg and FSX will rebuild your shader cache on the next start up. You can read more details about it on that page and link.

Jesus Altuve is actually a pretty knowledgeable fellow. He's earned a lot of respect over at that Avsim forums because of his tweaks. He has added commands to the fsx.cfg file that no one knew could exist there along with some fsx bug fixes.

Nick N of flight1 software is also a respected and knowledgeable individual when it comes to FSX, and his OS tweaks are bar-none when it comes to preparing an OS for fsx use. He is also very good at no-nonsense fsx cfg edits, as well as being a sotware developer himself for flight 1. He is responsible for UTX GEX ect.

These two individuals do not always see eye to eye - Nick is more of a conservative no-nonsense type, whereas Jesus (hey-sus) tweaks are a little more radical, but both of them have contributed immensly in helping the SIM community to understand the inner workings, and shortcomings of FSX, and how to overcome them.

Shader 3 mod. Make sure you look at the readme file. Courtesy of Jesus Altuve aka bojote :

http://www.venetubo.com/sha3mod.zip

vyper883
01-19-2011, 08:04 AM
Please delete -extra post

vyper883
01-19-2011, 08:07 AM
No. 16 is binary 10000 which means you are only using core 0 (which you can't stop) and core 4. To use the 5 other cores the binary is 111110, or hex 3E, or decimal 62. Each bit in the binary enables a core.

This assumes you have hyperthreading off in the BIOS. Otherwise there are 12 bits with every other bit being a pseudo-core.

Pete

Not to question you Peter, but wouldn't 16 be the fifth core. To assign an AffinityMask to the first core (core 0) the value would be =1. The binary for 16 is in fact 10000 but it's supposed to be read from right to left as is ths example:

http://msdn.microsoft.com/en-us/library/ms187104.aspx

Scroll to the middle of the page where it says:

"As an example of setting the affinity mask option, if processors 1, 2, and 5 are selected as available with bits 1, 2, and 5 set to 1 and bits 0, 3, 4, 6, and 7 set to 0, a hexadecimal value of 0x26 or the decimal equivalent of 38 is specified. Number the bits from right to left. The affinity mask option starts counting processors from 0 to 31, so that in the following example the counter 1 represents the second processor on the server."

kiek
01-19-2011, 08:47 AM
As far as I am aware, FSX only uses extra threads for texture pre-loading; all of the work to draw the screen including all windows, AI traffic, autogen etc is done on a single thread. I stand to be corrected, of course, but this is based on my reading of the information surrounding SP2.

In my opinion, neilh is right.
FSX runs 100% of the time at 1 core and uses just one other core incidentally. So a high frequency duel core is better for FSX then a lower frequency quad core or hex core....

Nico Kaan

Neil Hewitt
01-19-2011, 09:57 AM
I've been having a browse through the threads at FDS that vyper883 started and I have to say I'm impressed by exactly how deep into the software some people have gotten, and the level of tweakage that is possible. One of the problems with all the new gear is that as standards move on, OS innards change, and so something which you might think would make a big difference might not, and vice versa. For example, Vista and now Windows 7 have a fundamentally different display driver model to Windows XP, and FSX can respond very differently depending on the OS and driver. People don't realise how much the driver quality influences performance. A bad driver on super-fast hardware will slow things down tremendously. With FSX having been unpatched for a while now, there's been no work to optimise it to run with the newer architectures. So it's not a case of just throwing hardware at it and expecting that to work.

While I've taken it at face value that FSX is CPU-bound and not GPU-bound, and that any old modern-ish GPU will deliver impressive framerates, people like vyper883 have shown that you can get a major boost out of newer graphics cards not necessarily because FSX needs more shaders or GPU, but because the interaction between the newer hardware and the drivers and the new OSes is much more favourable to FSX than other combinations would be.

It'll be interesting when the hardcore tweakers get around to building systems based on Sandy Bridge. Any volunteers? ;-)

Peter Dowson
01-19-2011, 07:03 PM
Not to question you Peter, but wouldn't 16 be the fifth core.
Yes, as I said. Please read it again, I said:


... you are only using core 0 (which you can't stop) and core 4.
Core 4 IS the "5th core". Even you agree that the first one is "core 0", so obviously the 5th is core 4.


The binary for 16 is in fact 10000 but it's supposed to be read from right to left
I don't know why you need to worry about "direction of reading". It is just bit significance. Bit 0 is 2^0 = 1, whilst bit 4 = 2^4 = 16. In other words normal binary bit significance.

Regards
Pete

vyper883
01-19-2011, 08:51 PM
You are absolutely right. I misread the post. My apologies Peter :)

vyper883
01-20-2011, 12:05 AM
I've been having a browse through the threads at FDS that vyper883 started and I have to say I'm impressed by exactly how deep into the software some people have gotten, and the level of tweakage that is possible. One of the problems with all the new gear is that as standards move on, OS innards change, and so something which you might think would make a big difference might not, and vice versa. For example, Vista and now Windows 7 have a fundamentally different display driver model to Windows XP, and FSX can respond very differently depending on the OS and driver. People don't realise how much the driver quality influences performance. A bad driver on super-fast hardware will slow things down tremendously. With FSX having been unpatched for a while now, there's been no work to optimise it to run with the newer architectures. So it's not a case of just throwing hardware at it and expecting that to work.

While I've taken it at face value that FSX is CPU-bound and not GPU-bound, and that any old modern-ish GPU will deliver impressive framerates, people like vyper883 have shown that you can get a major boost out of newer graphics cards not necessarily because FSX needs more shaders or GPU, but because the interaction between the newer hardware and the drivers and the new OSes is much more favourable to FSX than other combinations would be.

It'll be interesting when the hardcore tweakers get around to building systems based on Sandy Bridge. Any volunteers? ;-)

Thank you for the compliments Neil :)

BTW your profile pic shares an uncanny resemblance to a good friend of mine who works as a programmer, for a reputable software company in Calgary.

Anyway, now you have me itching to get my hands on a i7 2600K. My current system is based on an X58 and a core i7 920 D0 running at 3.8. The plan was, to hold out for the six gun 980X to drop in price. The Sandy bridge looks attractive, I just don't know if I'm willing to give up three channels of memory, which the sandy does not have. I've only done some preliminary research on the new 1155 LGA, so I want to find out more before I make a desision to build an entirely new system. So far though, it's looking promising, and some sites are saying that a Sandy 2600k i7 can hold it's own against a 980x.

Of course it's still just the beginning, and one can always wait to see where the new architecture goes, and what other upcoming CPUs will be introduced into this architecture.

AK Mongo
01-20-2011, 12:52 AM
Thank you for the compliments Neil :)

I just don't know if I'm willing to give up three channels of memory, which the sandy does not have.

The 9x procs are triple channel, correct? Is Sandy Bridge only 2? What does that mean exactly?

vyper883
01-20-2011, 01:54 AM
The LGA1366 architecture had three channels of memory- Each channel (2 dimms) was capable of running 8GB of DDR3 memory, for a total of 24GB on-board RAM. The important thing here, is that with three channels, you have more memory bandwidth- up to 25.6GB/sec. The New LGA 1155 architecture will be able to run 32GB of on-board memory, when the new 8GB dimms are on the market. Utimately you'll have more memory onboard with the sandy, but a bit less bandwidth- 21GB/sec vs 25.6.

Now, because I am actually reading more and more about LGA 1155 as we speak, I realize that it's not such big issue to lose the extra channel The total bandwidth for the Sandy is 21GB/sec, but the processors new features MORE than make up for this. The i7 2600k can be overclocked in excess of 4ghz on nothing but air-STOCK cooling no less. As the architecture matures, they will be bringing six cores to the table towards the last quarter of 2011.

The 4.6 Gb/sec bandwidth loss, is nothing in the grand scheme of things. And in the real world you, would probably use up closer to 15GB/sec, maybe about 18GB/sec during benchmarking. Both platforms gave excess to spare. (edited)

So far, I am sold on it, and that overpriced 980X is looking less attractive by the second. It would cost me LESS to by a i72600k WITH a new Asus motherboard, than to dish out 1000 bones for a 980X. Everything on a LGA1366 is transferrable to the new system including an existing cooling solution. All you would need is the board and the CPU to upgrade to a current 1366 system.

As I type this, I'm currently reading this:

http://www.anandtech.com/show/4083

vyper883
01-20-2011, 02:38 AM
And here is another good read.

Note of interest of how it fares against the 980X midway into the review.

http://www.techradar.com/reviews/pc-mac/pc-components/processors/intel-core-i7-2600k-917571/review

wannabeaflyer
02-25-2011, 06:29 PM
Hi Guys . im trying to follow this thread and finally found my FSX.cfg File but cant fine the Section refered to ref [JOBSCHEDULER] i understand that i need to add the line below
Enter this:---------> AffinityMask=14
as mention in a earlier post, have i missed something again :-( i have accelerator loaded and fsx deluxe . just thought i'd try tp maximise my system performace a wee bit Cheers

deering
02-25-2011, 07:01 PM
Just add both lines to the end of your .cfg:

[JOBSCHEDULER]
AffinityMask=14

wannabeaflyer
02-25-2011, 07:45 PM
Your a star sir thanks for the heads up as they say :-)