homepage

please tell me the truth about FSX and multi-processing..

Posted By: JAS39

please tell me the truth about FSX and multi-processing.. - 10/15/08 01:03 PM

Hi All.

Having read almost all the articles one can find here, as well as on fsinsider, tomshardware (the charts, etc) I get a variety of opinions, most of them contradictory, regarding how much (if any) multi-core CPUs help when running FSX. Microsoft says that after the 2 service packs, FSX should be able to use alot of the extra power of multi-core CPUs. However, other sites claim differently.

Take a scenario: I run a pc designed ONLY for FSX, SP2, Acceleration. What I want to know:

With cost/performance considerations in mind, Is the increased power of a quad-core compared to dual core worth it? Will it increase the performance that much to justify the price?

What about multi-GPU configurations? Why do they perform so badly?

Thanks for any advice.
Posted By: Heretic

Re: please tell me the truth about FSX and multi-processing.. - 10/15/08 04:05 PM

As a quad-core (and former dual core) owner, I can say that multi-core CPU's are definately supported by FSX. Even if four cores don't improve your frame rate, they *do* help with terrain and texture loading.
Performance monitors confirm this, by the way. Compared to my dual core, I don't see 100% CPU activity all the time anymore. All four cores are only maxed out during initial loading or when Active Sky X makes changes to the weather or when the engine needs to load a new set of texture tiles.


I would recommend a (45nm) Quad to everyone who can spare the money. Combined with 4GB Ram, they make FSX shine.
You still need to overclock them to get the best performance, but with the current generation of Quads, this shouldn't be much of an issue.


I don't know whether or not you will see a boost coming from a 45nm Duo, but for me, the jump from an old E6600 (at 3.2Ghz) and 2GB Ram to a Q9450 (at 3.2Ghz) and 4Gb Ram was *very* noticable.



As for multi-GPU configurations please consider that FSX's engine is essentially eight years old (FS2000). Back then, SLI and Crossfire were not "in" anymore (SLI) or not even thought of (CF) respectively. While it was easier to add things like bloom and more terrain details, implementation of SLI was either too difficult or time-consuming or ACES decided to miss out on it because it appeared to them as a temporary trend only.
If you want to get the max out of FSX, get a single, powerful GPU card like an 8800GTX (yes, it's still recommended due to the 384bit memory interface) or 280GTX. Even an old G80 8800GTS will do the trick nicely (312 bit memory interface).


Personally, I wouldn't give a damn about what teams like Tom's Hardware & Co say about FSX. There is enough information about dual core vs quad core out there in the flightsim forums written by people who mainly, if not only focus their spare time on FSX and thus have way more insight into the whole subject than the "let's do quick FSX benchmark before we move on and test GPUs in CoD4" guys.

The hardware section in the forums at Avsim is a good place to ask for any technical advice, although I don't recommend opening a "Duo vs Quad" thread in there, since this topic is as much a dead horse to the community as the evergoing "Boeing vs Airbus" discussion. I suggest doing a forum search and reading through the threads a bit if you need a bit of help with the decision.


Summary:
- FSX likes Mhz most, so squeeze the most out of your CPU
- Quads help with texture loading
- 4GB are recommmended
- Multi-GPUS are not supported due to the engine's age
Posted By: Tolwyn

Re: please tell me the truth about FSX and multi-processing.. - 10/15/08 09:30 PM

There's a huge difference between processor affinity and multi-threaded.
FSX is not a multi-threaded application.

?
Posted By: Xptical

Re: please tell me the truth about FSX and multi-processing.. - 10/16/08 06:31 AM

The best bet with any *normal* user is to get the fastest processor you can afford. Then look at cores.

If a 4ghz single core and a 3.8ghz dual core are the same price, the 4ghz single core will perform better. Likewise, if you have a 3.8 dual or a 3.6 quad, the 3.8 dual will outperform.

Now, FSX may utilize dual cores for background tasks. But the main code for the game will still operate on a single thread inside a single core. And the faster that core is, the better.
Posted By: tcable

Re: please tell me the truth about FSX and multi-processing.. - 10/28/08 03:01 AM

I'm running a slightly overclocked Q6600 Vista x64 and 4gb ram.

I love FSX now. I'm mostly maxed on all sliders and performance is amazing even in New York.

With PMDG, I'm in sim heaven (until FS11 arrives in 2010 or so)

I highly encourage the Quad, but agree that raw speed is king.
Posted By: Heretic

Re: please tell me the truth about FSX and multi-processing.. - 10/30/08 04:05 PM

Take a fast quad and you're in FSX heaven.

FSX supports basic multi-coring, it simply uses it for loading purposes.
Posted By: JAS39

Re: please tell me the truth about FSX and multi-processing.. - 11/02/08 01:00 PM

ahh...thanks for all the info! more money=buy a quad and overclock!
Posted By: Rilex

Re: please tell me the truth about FSX and multi-processing.. - 11/03/08 10:55 PM

Originally Posted By: Tolwyn
There's a huge difference between processor affinity and multi-threaded.
FSX is not a multi-threaded application.

?


If FSX wasn't multithreaded, how do you propose getting a single process on multiple cores/CPUs?

Hint: It isn't possible. FSX is multithreaded.
Posted By: Heretic

Re: please tell me the truth about FSX and multi-processing.. - 11/04/08 09:14 PM

Originally Posted By: JAS39
ahh...thanks for all the info! more money=buy a quad and overclock!


Don't forget a new cooler if you overclock your quad.


Most coolers from dual-core days can't cope with four hot cores.
Posted By: Tolwyn

Re: please tell me the truth about FSX and multi-processing.. - 11/04/08 10:31 PM

Uh, FSX is not a mutli-threaded application. Sorry, man.
Posted By: Rilex

Re: please tell me the truth about FSX and multi-processing.. - 11/04/08 11:36 PM

FSX is a multithreaded application. You have to have more than one thread in order to run a single process on more than one proc/core. Unless you want to tell the Windows Kernel Engineers how Windows runs a process over more than one proc/core.
Posted By: Tolwyn

Re: please tell me the truth about FSX and multi-processing.. - 11/04/08 11:56 PM

You guys don't know what multi-threaded means, apparently.

You can set process affinity, that doesn't mean multi-threaded.

Quote:

Multi-threading refers to an application with multiple threads running within a process, while multi-processing refers to an application organised across multiple OS-level processes.


Sigh.
Posted By: Rilex

Re: please tell me the truth about FSX and multi-processing.. - 11/05/08 12:18 AM

You're misreading that.

A multithreaded application consists of a single process that has multiple threads, e.g. fsx.exe. This allows the process' threads to be spread across (have its proess affinity) multiple processors (or cores as it may be).

Process affinity assigns which processors or cores the processes threads can run on. If you set the process to only have access to a single processor/core, it will still be a multithreaded application, but only able to execute one thread at a time. If the process had a single thread, while it may be assigned to multiple processors or cores, it can only execute that single thread (think: "Hello World!") on a single processor/core.

Since FSX is a multithreaded application, and processes in Windows are started with the process affinity set to all available processors/cores, the OS can execute n of FSX's threads at once, depending on processor availibility, current workload, and what work FSX needs to be done.

A multiprocess application is an application that consists of multiple processes. This is typically for clustering scenarios (render farms and the like).

You need to go read Windows Internals. You're not understanding the fundamentals of process scheduling and threading.

You can also argue til you're blue in the face with Phil Taylor, if you'd like. He'll shoot you down, just like we are.
Posted By: JAS39

Re: please tell me the truth about FSX and multi-processing.. - 11/05/08 04:53 AM

sorry for asking, but who is Phil Taylor?
Posted By: Rilex

Re: please tell me the truth about FSX and multi-processing.. - 11/05/08 06:35 AM

http://blogs.msdn.com/ptaylor/
Posted By: JAS39

Re: please tell me the truth about FSX and multi-processing.. - 11/05/08 02:05 PM

thanks, rilex. Anyway, at least, FSX for now increases the loading times trememdously, which can only be good! I hope that FS 11 will really provide increased performance for multi cores and mulit gpu setups...
Posted By: Rilex

Re: please tell me the truth about FSX and multi-processing.. - 11/05/08 05:56 PM

Right, the RTM version (and possibly SP1) was more optmized wrt multithreading when it came to loading, and less so in other areas. That improved with SP2.

But, it should be obvious to anyone that since there is an 8 core fix for FSX, the application is multithreaded.

Remember boys and girls, processes are not executed, threads are. A thread cannot be on more than one core at any one time (the OS can move the thread from core to core, but it only ever executes on one core at any one time).
Posted By: Tolwyn

Re: please tell me the truth about FSX and multi-processing.. - 11/05/08 10:33 PM

Nope.
Nope.
Nope.

FSX is not fully multi-threaded. Sorry. Precache/loading of texture does not a multi-threaded application make. Man. It's like I'm arguing with democrats here.

Bring that guy here and have him prove me wrong. smile Utilizing a full multi-threaded app is more than just caching textures. From tdragger's own blog:

Quote:
The bad news is that requests are made with varying frequency so the overall CPU utilization will also vary. In other words, those of you running [...] FSX [...] and looking for 100% utilization on all your cores can just stop--you're not going to see it. You'll see a lot of utilization when you first load a flight (and we force requests to complete) and less as you fly along. As we continue to evolve the code base we'll continue to look for areas where thread offloading makes sense but changes in the area can have unexpected results so it will take time to decide what works best. And, oh, when you find a game that does use all that horsepower all the time, please let me know.


This is thread affinity, not mutli-thread utilization.
Posted By: Rilex

Re: please tell me the truth about FSX and multi-processing.. - 11/05/08 11:19 PM

You do not understand the term "multithreaded". Multithreaded means more than 1 thread. "Hello World!" is not multithreaded. FSX is multithreaded. It can, and does, execute more than one thread at a time on a multicore system.

And..

"FSX is not fully multi-threaded." != "FSX is not a mutli-threaded application."

Which is it? You've contradicted yourself.

Quote:

This is thread affinity, not mutli-thread utilization.


A thread does not have affinity. A thread cannot execute on more than one processor/core at a single time. A process has affinity. You may be confused with MSDN documentation that would elude to thread affinity, but SetThreadAffinityMask only allows you to set what processor that particular thread runs on, not set the thread to run on multiple processors/cores (which again, is not possible).

Please don't argue this point, you've already lost by contradicting yourself. You're not grasping the terminology nor what it means to have a multithreaded application.

Quote:

loading of texture does not a multi-threaded application make.


Actually, it does. Even if the multithreading takes place in limited areas of the application, or if the application is only optimized for multithreading in limited areas, it is still a multithreaded application.

Sorry, not to be mean here, but you really need to read Windows Internals. You've confused yourself, and I'm afraid you're confusing others who are reading your posts.

And, you should quote farther down on his blog post ... http://blogs.msdn.com/tdragger/archive/2006/08/21/711152.aspx

Quote:

Hopefully you can see that a multithreaded game like FSX consists of a numerous start, wait, and complete sequences.


Hopefully this ends the argument as to FSX not being multithreaded. Unless you'd like to continue to tell the ACES team that what they publically post is incorrect, Towyln.
Posted By: Tolwyn

Re: please tell me the truth about FSX and multi-processing.. - 11/06/08 12:45 AM

I stand by my post without question. FSX is not a multi-threaded application.
And I challenge the Aces team to prove, fully, that it is... when they themselves have only said "at run time, we'll take one core to load textures, and another core to "load other things". That is great, if you edit the *.ini and tell the software which core to use for which task.

smile I'm fine with my stance. I stand by it.
Posted By: Tolwyn

Re: please tell me the truth about FSX and multi-processing.. - 11/06/08 12:51 AM

I always feel uncomfortable in threads like this.

Here's (even more definitive) proof (aside from testing CPU overhead with Tom's Hardware utilities on AMD, Intel, Core2, QuadCore stuff):

http://www.1up.com/do/reviewPage?gId=3146689&sec=REVIEWS&r=7669790
http://www.ocforums.com/showpost.php?s=6...amp;postcount=7

FSX tasks can be assigned a core affinity, but this does not mean multithreaded. People simply confuse what the terminology means.

Processor Affinity:

Quote:
as said earlier, FSX cannot take the advantage of multicore, so having two CPUs won't help at all.

If you don't mind running at 1024 x 768 for now, i would say having a budget computer of 1,000 will be more than enough.



Quote:
its been explained by the developers as a case of technology changing
mid-stream, and unfortunately, the multicore design hit the market quicker
than that programmers could react.

My understanding is that it is very difficult to program to effectively use
multi-core processors, as the data stream is split and prioritized, then has
to be synchronized on the output side. Even with that said, FSX makes
limited use of multicore, but the largest use for multicores, is for one core
to run the program, while the secondary (third or fourth for the QX
processors) to run your background services, such as windows apps and
antivirus.


Quote:

Based o my knowledge, I agree with Dustin Harper's opinion. FSX does take advantage of multiple CORES. You may follow these steps to check if it is using the dual core.

1. Start the game, and then press the Windows logo key on the taskbar or
press "CTRL+ALT+DELETE" to open the Task Manager window.
2. Click on the Processes Tab
3. Right click "FSX.exe" process and left click on SET AFFINITY
4. Please confirm if the check marks for CPU 0 and CPU 1 have been checked.
5. Close the Task Manager window, and maximize the game.


Quote:

I tend to remember reading a blog of Phil Taylors from Aces team,
after the Service pack was released, to go to task manager ( right
click on task bar) select applications, find FSX.exe ( FSX has to be
running of course) and change the affiinity to 2 for the cores.

I have not be able to test this myself, as my Vista Ultimate 64bit
does not reconisge that I have a dual core cpu, even though in device
manager it listes two cpu's
But is system details (where the Vista score is, it says I have only
one core.

I have MS Vista tech support looking into this now, so far 24 hours
later not heard from them.

I get a feeling from googling, that this is a common problem with
Vista, but mainly for AMD processsors.
Anyway else heard of this problem?
I can't even change the graph from Task manager view performance to
more than one as there is only one core, but I have swap posts with a
guy at Dell support foroums who has exactly same DImension PC and
Intel processor and Vista and he doesn't have a problem, so problem
must be my installation of Vista??

Hope what I suggested above helps,
If you go to FLightsim.com and then to their FSX foroum, some of the
guys there will know what I am talking about.
Posted By: Rilex

Re: please tell me the truth about FSX and multi-processing.. - 11/06/08 01:45 AM

You're taking uneducated user opinions from forums and showing that as proof? Why don't you just come out and say "users are right, ACES team members are lying", since by your posts, that is exactly what you're saying.

Read:

http://blogs.msdn.com/ptaylor/archive/2007/04/09/fsx-sp1-news-intel-quote.aspx

Quote:

“Flight Sim X SP1 greatly increases multicore utilization and will scale as more threads are available leading to reduced load times as well as frame rate improvements and greater visual complexity during flight.


Continuing on with the quotes from Phil Taylor, former ACES team member and code monkey...

Quote:

At load time, we run the terrain loading on threads across the cores. This can result in reduced load times, the actual percent reduction can vary but it could be reduced by as much as 1/3.

At render time, we run the terrain texture synthesis on threads across the cores. During flight on multi-core machines, as terrain and terrain textures are loaded you will notice significant multi-core usage.


Notice how the word "thread" comes in plural form in this quote. He didn't use "threads" by accident.

Please stop quoting uneducated users and offering it as proof. You don't understand that a process is not what is executed, you don't understand process affinity and what that means (hint: it means threads from that process can be executed on the cores it is assigned to; all by default), and you don't understand what it means to have a multithreaded application (do you honestly believe that any game in recent history runs on a single thread, a single path of execution, when we have rendering, AI, I/O, sound, etc. going all at the same time? Are you suggesting that after each action, FSX destroys the thread, say to run the sound, creates a new one to render graphics, destroys that, creates one to do AI, rinse and repeat?).

Yet, you're stubborn enough to continue to say FSX is not a multithreaded application (actually, you've said it isn't optimized for multithreading, before going back to say it isn't multithreaded again...so I'm not quite sure what you believe).

Please stop misleading and confusing others. You believe FSX is a "multi-processor" application, yet FSX isn't a multi-process application. Also, a process is not executed on the processor. So, what does this mean? This means that FSX is a multi-threaded application and can take advantage of multiple cores via having more than one thread executed at any single point in time.

Again...

A PROCESS IS NOT EXECUTED ON A PROCESSOR. A THREAD IS. IN ORDER TO TAKE ADVANTAGE OF MULTIPLE CORES, YOU MUST HAVE MULTIPLE THREADS TO BE EXECUTED ON SAID MULTIPLE CORES.

Hopefully that is clear enough.
Posted By: Kosmo.

Re: please tell me the truth about FSX and multi-processing.. - 11/06/08 09:16 AM

First let me say that I haven't bothered at all with FSX so I have no idea if it's multithreaded or not. Rilex, though you are obviously a fellow programmer and obviously understand what multithreading means you seem to be making a small mistake, or maybe you didn't express it correctly. Having textures cached on another processor is not multithreading, otherwise all games are multihtreaded since they all load textures to the graphics card and use the cards' processor. Multithreading is not about running different threads on different processors, it's running them simultaneously.
Posted By: Heretic

Re: please tell me the truth about FSX and multi-processing.. - 11/06/08 03:29 PM

Originally Posted By: Rilex
Continuing on with the quotes from Phil Taylor, former ACES team member and code monkey...


Team member yes, code monkey...well...Phil was "just" the marketing and public relations guy of the ACES team...

He did a great job nonetheless.
Posted By: Rilex

Re: please tell me the truth about FSX and multi-processing.. - 11/06/08 05:10 PM

Originally Posted By: Kosmo.
Having textures cached on another processor is not multithreading, otherwise all games are multihtreaded since they all load textures to the graphics card and use the cards' processor.


Disk I/O does require a thread, hence it is a seperate thread. When it comes to threading, none of this dicussion involves the GPU.
Posted By: Tolwyn

Re: please tell me the truth about FSX and multi-processing.. - 11/07/08 01:44 AM

Not at all, Rilex.
Actually, I program in VB, .NET, Javascript, ASP, PHP, Cold Fusion, People Code (PeopleSoft), Java Server Pages and am a system analyst for a huge local gov't agency.

:-)

Seems like you just want to be right in this thread. Okay. That's fine.

No. GPU is something completely different than mutli-core processing, Rilex. That I do agree with you on.

Did I say it was optimized for anything? Hardly.
Multicore utilization is not multi-threading. That, again, is processor affinity.

Reducing load times all day long, the game experience does not benefit from any sort of multithreading. You can put texture loads on core1, and Windows processes on Core 'n'. That doesn't mean the game is taking advantage of multi-cores. man oh man oh man this is fun.
Posted By: Rilex

Re: please tell me the truth about FSX and multi-processing.. - 11/07/08 02:44 AM

Web-based dev involves very little, if any, threading on your part.

Quote:

You can put texture loads on core1, and Windows processes on Core 'n'.


No, you can't do that. Windows will do it, you don't manage where other processes are (this is a fundamental architectural point in modern OSes). FSX can, and does, spin off multiple threads. Some threads cannot run optimially with others, other threads can. Windows manages the scheduling of threads for you.

You cannot use 1+N cores without being multithreaded. You keep stating "multicore", but you don't understand the terminology. Period. Web dev isn't going to teach you this, so I can see why you'd easily get the terminology confused. In order to use 1+N cores at any one time, your application MUST be multithreaded. A thread can only run on a single core at any one time.
Posted By: Tolwyn

Re: please tell me the truth about FSX and multi-processing.. - 11/07/08 03:40 AM

What???

No. Sir, No. Good luck. We'll have to agree to disagree. I'm fine in standing by EVERYTHING I've said in this specific forum thread. Period.
Posted By: Rilex

Re: please tell me the truth about FSX and multi-processing.. - 11/07/08 04:12 AM

I'm still curious how you get a process (which isn't executed) to run across 8 cores with only a single thread executing.

BTW, load up Process Explorer with FSX running. Let us know how many thread objects you see.
Posted By: JAS39

Re: please tell me the truth about FSX and multi-processing.. - 11/07/08 04:27 AM

this argument is getting interesting! and it is not breaking any forum rules...I like the opinions...
© 2024 SimHQ Forums