February 4, 200422 yr Hi all:I don't own a HT/multi-CPU machine, so I cannot test this theory.It is possible to programmatically get a list of all threads running withing a program.On my machine fs9.exe spawns 13 threads.It is also possible to re-assign what thread runs on what CPU.Therefore, I should be able to write a function (within FSAutoStart) that, if running on a HT/multi-CPU machine, can reassign the threads after starting fs9.exe. I guess I could put even # threads on CPU1 and and odd number threads on CPU 2.I have no idea if this would help.Does anyone have any thoughts on this?
February 4, 200422 yr Ken,I have tried to run FS9 on the CPU1 and all other apps (radar contact, AS2004 etc) on CPU2, after enabling Hyperthreading but did not recognise any performance boost.Maybe I'm wrong or did something wrong but I went back to single threading.Just my 2 cents...
February 4, 200422 yr What happens, I think, is that FS9 runs all of its threads on CPU1, therefore eating up all CPU utiliziation (i.e. 100%) and the other cpu(s) are more or less idle.My idea is to "force" the threads onto the different CPUs. Hopefully there isn't just one thread that is using the entire cpu, but several threads. That way I can distribute the load.Of course I realize that I am playing god here and changing the laws of flight sim physics, but hey it's fun!Since you have a multi-cpu system, you (or anyone else) mind running some test software when I finish it sometime today?
February 4, 200422 yr >Hopefully there isn't just one thread that is using the entire>cpu, but several threads. That way I can distribute the>load.Such "redistribution" is known to have significant performance penalty at least for one product: Meridian + RealityXP' Garmin combo. Just in case you did not know .... (more on the topic you can find on RealityXP forums).Michael J. Michael J.
February 5, 200422 yr In addition, I've read that out of 13 (if I remember correctly) threads FS is running, only 1 is actually active and do something. FS9 hyperthreading enabled may just be marketed because the compiler used to compile the code is HT aware (like the latest Intel C++ compiler...)In anycase, having such option would be interesting.Thanks!
February 5, 200422 yr Well if you go ahead with this then you can count me in for testing, i have been waiting for the cpu to fill its potential..cheers,James
February 6, 200422 yr We've been discussing this recently and some users with HT CPU's (just the one) report that CPU usage in FS9 doesn't exceed 50% - whereas none MT CPU's tend to hit the 100% figure.One user disabled HT in the BIOS but although he got CPU usage to read 100% it slowed the system down significantly.boneshttp://fsaviation.net
February 6, 200422 yr KenIf you have Spy++ from VS you can see that only one of the 13 seems to eat CPU the other have almost no activity.Jos
February 6, 200422 yr Author Ken,I have an HT machine and I've found that combining ALL threads into ONE virtual CPU is actually the way to go. Unlike other folks, my version of FS9 has run on CPU 0 from day one and I've never had any performance problems. I don't know how or why it limited itself to one CPU (since I never disabled HT) - but I'm thankful it did! When I installed Reality-XP's Garmin 530, the required 16-bit Virtual Machine decided to use CPU 1 - and my framerates plummeted. Re-assigning the VM to CPU 0 eliminated the problem and frame-rates returned to normal. Personally, I think that HT is just another Intel marketing gimmick aimed at those of us who think we're smarter than we really are - am I the only one who remembers MMX? Unfortunately, unlike MMX (which did nothing), HT appears to do more harm than good. Here's my take: If you only have one horse, cutting him in half won't make the buggy go any faster.Regards,Marc
Create an account or sign in to comment