Jump to content

Vista and Multi-core/Multi-CPUs, Continued


ericinexile

Recommended Posts

i don't know, but think about it...

if setting affinity to 2 cores does a great impact,

do you really think 4 or 8 won't be of any help?

 

It really depends on:

1)Number of threads (one thread can only be executed on one CPU).

2)Level of parallelism (if threads depend on each other, they won't be executed at the same time).

3)Calculation load (lots of threads with small calculations kills performance).

 

Usage of threads gives performance overhead too. It appears because CPU time is also required for thread synchronization and management. Sometimes threads eat more resources for synchronization than their calculations. For example: there is a program which does 3 calculations: a=1+2; b+1+2; c=a+b. Multithreaded version will probably be slower than single threaded one, because thread initialization and synchronization will take more time than those little calculations.

 

Well, I don't know exactly how much DCS can be executed in parallel, however it seems that not much. I guess that affinity trick is more related to Vista's implementation of DirectX than to multithreaded code of DCS, because the trick does not work on XP.

 

Back to your question: I don't think that 4 or 8 cores will be of no help, however I think the performance increase will be lesser going from 2 cores to 4, than going from 1 to 2. You need to test that yourself or ask someone to do that.


Edited by ZaltysZ

Wir sehen uns in Walhalla.

Link to comment
Share on other sites

  • Replies 159
  • Created
  • Last Reply

Top Posters In This Topic

When this Dual/Multi-core "trick" was shared on this forum I investigated it pretty thoroughly because I needed to evaluate an expensive Vista purchase. What I learned is that Vista handles DirectX differently, and according to Intel, better than XP. My theory, based on a complete and utter ignorance on how computers work, is that Vista allows one core to handle the game while the other(s) share the DirectX load.

 

A little searching on YouTube will yield an Intel presentation that explains Vista, Processor sharing, and DirectX.

 

Smokin' Hole

Smokin' Hole

 

My DCS wish list: Su25, Su30, Mi24, AH1, F/A-18C, Afghanistan ...and frankly, the flight sim world should stop at 1995.

Link to comment
Share on other sites

Jesse, simply awesome work here, thank-you!

[sIGPIC][/sIGPIC]

Microsoft Windows Vista x64 bit

Overclocked Intel Core2Duo @ 3.30GHz

6GB DDR Ram

Nvidia GTX280 1GB

DCS Blackshark Russian DVD Box and English Download

1920x1080 res. @ 37" Westinghouse LVM-37w3 1080P

Background image by Shrubbo.

Link to comment
Share on other sites

Jesse,

 

Excellent tool. Great job. It works just fine on my dual core system.

 

If I could make a couple of suggestions for future versions:

 

1. Read the game path from the registry. Mine is located in "HKEY_LOCAL_MACHINE\SOFTWARE\Eagle Dynamics\BlackShark\Path". On 64-bit machines you might find it in "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432node\Eagle Dynamics\BlackShark\Path" if it's not in the first one.

 

2. Save the settings to the registry instead of an .ini file. Some people (myself for one) would like to just keep your compiled binary on the desktop and a .ini file just clutters things up a bit.

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

Huge differance for myself.

 

Went from Windows XP 32 bit, 2gb ram to Vista Ultamate 64bit, 6GB Ram.

 

Very very nice...... by changing the affinaty i went from 35 FPS to 49 FPS.

 

I don't mind bouncing out the desktop to change it, and i would like to give a special shout out to whoever found that out !!!!

 

this sim works excellent with Vista 64Bit.

Link to comment
Share on other sites

It sure is Flanker15, this is one of the reasons when it was first discovered, I tested it to make sure on two different dual boot systems using both XP and Vista ( both 32 and 64 bit OS's) and reported that I would have never believed it, but yet Blackshark is a great reason to move to the Vista operating system since it runs it better than XP does.

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

It sure is Flanker15, this is one of the reasons when it was first discovered, I tested it to make sure on two different dual boot systems using both XP and Vista ( both 32 and 64 bit OS's) and reported that I would have never believed it, but yet Blackshark is a great reason to move to the Vista operating system since it runs it better than XP does.

 

Here's a really weird one: Falcon4 AF uses all four cores on my quad but BS doesn't! I checked.

 

I also manually turned all the cores on in BS and it did give me an FPS boost (not huge, maybe 5-7 fps). But the biggest boost came from dropping my AA from 16xS to 8x multisampling. Big boost for very little quality loss. Now I run at 20-30 fps instead of 7-15.

Link to comment
Share on other sites

Here's a really weird one: Falcon4 AF uses all four cores on my quad but BS doesn't! I checked.

 

I also manually turned all the cores on in BS and it did give me an FPS boost (not huge, maybe 5-7 fps). But the biggest boost came from dropping my AA from 16xS to 8x multisampling. Big boost for very little quality loss. Now I run at 20-30 fps instead of 7-15.

 

I know that F4 will actually run the dynamic campaign on another core.

Link to comment
Share on other sites

Jesse, simply awesome work here, thank-you!

 

Jesse,

 

Excellent tool. Great job. It works just fine on my dual core system.

 

If I could make a couple of suggestions for future versions:

 

1. Read the game path from the registry. Mine is located in "HKEY_LOCAL_MACHINE\SOFTWARE\Eagle Dynamics\BlackShark\Path". On 64-bit machines you might find it in "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432node\Eagle Dynamics\BlackShark\Path" if it's not in the first one.

 

2. Save the settings to the registry instead of an .ini file. Some people (myself for one) would like to just keep your compiled binary on the desktop and a .ini file just clutters things up a bit.

 

Thanks guys.

 

Null, I'll implement your suggestion right now. I don't know why reading from the registry didn't even once cross my mind. :doh:

 

Edit: I remember now exactly why I went with the INI method. If the binary is outside of program files, like in root C:\ or your documents etc, it doesn't need administrator privileges to function and read or write settings to the INI. I can read from the registry without elevated privs but I cannot write to it. Since requesting elevation is completely out of the question, I'll need some time to think.

 

As a work around to the ini cluttering your desktop, simply place the binary anywhere but program files and create a shortcut to it on the desktop.


Edited by Jesse
Link removed.

Link to comment
Share on other sites

As a work around to the ini cluttering your desktop, simply place the binary anywhere but program files and create a shortcut to it on the desktop.

 

Not a problem. I'm very used to having to manually install small applications like this (by trade, I am a software developer myself). It was just a suggestion to improve ease of use.

 

Otherwise, the app works great. Thanks again!

 

P.S. You should probably create a new topic for your application or else it will get lost in this large thread!


Edited by NullCharacter

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

I used your DCS script Wombat and it appears I am the first that it does not work for. I extracted the contents to Ka-50 folder and created a shortcut to the 4 core icon, opened the sim and in instant action I get 7-15 fps.

 

I have a qx6850 @ 3 ghz, 4Ghz ram, 2x 8800 ultra, 2x raptors, Vista 32.

 

Wombat it works! It doubled my FPS. I'm now 20-30+ fps everything on 1920 x 1200 and 8x AA with 16x AF. It kicks in after about 5 seconds. I was reading the initial low fps and backing out.:doh: After the pause it jumps right up. Its so convenient, so I changed the shortcut icon to the BS one. Thanks loads.

Link to comment
Share on other sites

Jesse,

 

Nice application. After testing it I notice that it has a slightly different effect than my script.

 

I have a quad core. With your application, I notice that Core 0 is about 80% loaded, Core 1 is about 50% loaded, and cores 2 and 3 have less than 5% load.

 

With my script, Core 0 is generally about 50% loaded, Core 1 gets about 20%, Core 2 gets about 30% and Core 3 gets about 25%. In short, the load is more balanced across the cores.

 

While I am not 100% certain, I think this behavior is related to how soon the affinity is set after launching DCS.exe. I found that the sooner you set the affinity, the more concentrated the load becomes. To avoid that, my script waits at minimum 30 seconds before setting the affinity, while it appears that your app waits about 3 seconds. You might find that the app provides better performance (or at least a better balanced load) if you wait a bit longer before setting the affinity.

 

Just a suggestion, and thanks for your work!

  • Like 1
Link to comment
Share on other sites

Same here!

Jesse´s tool works like this

cores -->

1.@80%

2.@60%

3.@90%

4.@30%

...maybe all of them 5-10% less but they´re all at duty.

 

wombats com does the same indeed with differrent load

1.@30%

2.@30%

3.@60%

4.@30%

......hmm... but it looks like there is not that much to do?! Strange thing .....

Nevertheless with this BS is an amazing gaming experience!

THX :thumbup:

S@uDepp


Edited by S@uDepp

// Hasi @4,5 GHz @ H100i // Asrock Z87M Extreme 4 // Avirex 4x4GB // PALIT 1070 GTX SuperJetStream // Corsair 350D // Plextor extern // DELL 2407WFP // Razer Lancehead // 2xThrustmaster T.16000M + Saitek Pedals Pro // Oculus Rift // 3x amBX // Win10 Pro x64

Link to comment
Share on other sites

Same here!

Jesse´s tool works like this

 

Interesting results... That is very different than what I get.

 

Part of the issue is that it seems that if you set the affinity too quickly, there is a lot of unpredictability as to how the load gets allocated. When I was testing my script, I found that in some cases the results were ok, while in others the load was unbalanced. In the extreme case of setting the affinity immediately after DCS.exe was launched, I found that often practically all the load was on a single core and there was no FPS improvement. This is also what happens to me when I use prifinitty (or other similar programs).

 

I eventually settled on using a long delay of 30 seconds, as that seemed always work correctly on my equipment. I imagine that the results will probably vary on different machines.

Link to comment
Share on other sites

I eventually settled on using a long delay of 30 seconds, as that seemed always work correctly on my equipment. I imagine that the results will probably vary on different machines.

 

Wombat, thanks again, it works great. One question though. My CPU or something beeps several times at about 10-15 second intervals when the game is loading or when backing out. Is this normal and is it ok?

Link to comment
Share on other sites

Wombat, thanks again, it works great. One question though. My CPU or something beeps several times at about 10-15 second intervals when the game is loading or when backing out. Is this normal and is it ok?

 

Hi Icarus2,

 

I originally did not have this problem, the beeping (which is a speaker beep, like in DOS, not through the sound card), and used wombat's script every time. All of a sudden, recently, it started to happen. I am pretty sure the OS is trying to tell me something, but it should be trying to speak English instead, as the beep means nothing to me... :(

 

By the way, a restart clears the problem in my case.

Link to comment
Share on other sites

Hi Icarus2,

 

I originally did not have this problem, the beeping (which is a speaker beep, like in DOS, not through the sound card), and used wombat's script every time. All of a sudden, recently, it started to happen. I am pretty sure the OS is trying to tell me something, but it should be trying to speak English instead, as the beep means nothing to me... :(

 

By the way, a restart clears the problem in my case.

 

 

Yes, it has now gone away after I restarted too. That's a relief its just DOS. Thanks.

Link to comment
Share on other sites

While I am not 100% certain, I think this behavior is related to how soon the affinity is set after launching DCS.exe. I found that the sooner you set the affinity, the more concentrated the load becomes!

 

Interesting. I hadn't even looked at the load across the cores. I'll play around and see what I get with different delays.

  • Like 1

Link to comment
Share on other sites

Interesting. I hadn't even looked at the load across the cores. I'll play around and see what I get with different delays.

 

....anything new about different delays?

 

Greets

S@uDepp

// Hasi @4,5 GHz @ H100i // Asrock Z87M Extreme 4 // Avirex 4x4GB // PALIT 1070 GTX SuperJetStream // Corsair 350D // Plextor extern // DELL 2407WFP // Razer Lancehead // 2xThrustmaster T.16000M + Saitek Pedals Pro // Oculus Rift // 3x amBX // Win10 Pro x64

Link to comment
Share on other sites

Jesse,

Thank You for Your Script, for me works FINE!!! (Vista 64 bits) No problem to set affinity each time for C2D :)

thx

Webmaster of http://www.yoyosims.pl

Yoyosimsbanner.gif

Win 10 64, i9-13900 KF, RTX  4090 24Gb OC, RAM 64Gb Corsair Vengeance LED OC@3600MHz,, 3xSSD+3xSSD M.2 NVMe, Predator XB271HU res.2560x1440 27'' G-sync, Sound Blaster Z + 5.1, TiR5, [MSFS, P3Dv5, DCS, RoF, Condor2, IL-2 CoD/BoX] VR fly only: Meta Quest Pro

Link to comment
Share on other sites

  • Recently Browsing   0 members

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