Jump to content

Vista and Multi-core/Multi-CPUs, Continued


ericinexile

Recommended Posts

That other discussion about getting better frame-rates with Black Shark and Vista with affinity set to use more than one core left me confused. (Admittedly not hard to do.) I've never even seen Vista so I know nothing about it. My 8 core Zeon Mac Pro runs on all cylinders at 64 bit just because that's Leopard--Apple only makes one version. But I degress (this is not a Mac discusstion)...

 

The terms Vista 64 and Vista Ultimate 64 and Vista Ultimate seemed to get used interchangeably in the last discussion. But one doesn't have to buy Vista Ultimate in order to get a 64 bit version of Vista. So, are Vista users who are getted marked improvent setting DCS for multi-core affinity all using Ultimate 64? To state another way, is it the "Ultimate" that's providing the improvement or the "64"?

 

Thanks,

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

  • Replies 159
  • Created
  • Last Reply

Top Posters In This Topic

Any version of Vista I believe will do the trick. The affinity tweak works to enhance the FPS in Blackshark under the VISTA operating system due to how this Microsoft operating system handles multi-core cpu instructions.

 

Even though you can set the affinity for multi-core cpus under XP, based upon tests from many users (including myself) there is no fps difference under the XP operating system. The additional fps gained by setting the affinity for the DCS.exe (note: not the launcher.exe) seems to work only under the Vista OS.

 

I hope this helps to clarify what has been said.


Edited by Talon

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

That other discussion about getting better frame-rates with Black Shark and Vista with affinity set to use more than one core left me confused. (Admittedly not hard to do.) I've never even seen Vista so I know nothing about it. My 8 core Zeon Mac Pro runs on all cylinders at 64 bit just because that's Leopard--Apple only makes one version. But I degress (this is not a Mac discusstion)...

 

The terms Vista 64 and Vista Ultimate 64 and Vista Ultimate seemed to get used interchangeably in the last discussion. But one doesn't have to buy Vista Ultimate in order to get a 64 bit version of Vista. So, are Vista users who are getted marked improvent setting DCS for multi-core affinity all using Ultimate 64? To state another way, is it the "Ultimate" that's providing the improvement or the "64"?

 

Thanks,

Smokin' Hole

 

Ultimate is just a package level of Vista. There is Home, Business and I am sure others as well. It just determines what preinstalled stuff comes with it.

 

And so as stated previously, and version of Vista will do.

  • Like 1
Link to comment
Share on other sites

Guys, you can use a program called SetAffinityII. It is free to download and it works like a champ. No more alt-tabbing to set the affinity.

Link to comment
Share on other sites

My suggestion is using Wombats scripts, then follow the directions he gave to add the DCS startup commands.

 

Then you have 2 shortcuts just like you do normally, but they start with the cores you have selected.

 

No excess programs running in the backround.

 

I have attached the modified scripts. 1 for dual core, 1 for quad, 1 for 4 thread on an i7 and one for 8 threads on an i7. A singleplayer and multiplayer .cmd file. And also the process.exe file.

 

Download the file attached to this post.

Extract contents to your x:\Program Files (x86)\1C\Eagle Dynamics\Ka-50 this is the default location.

Replace the SP and MP shortcuts on your desktop with shortcuts to the appropriate SP and MP .cmd files.

DSCAff.zip


Edited by =Prophet=
  • Like 3
Link to comment
Share on other sites

.

 

I'm not totally sure I understand what those files are suppose to do. I see the two shortcuts that would act with the cores a player has, but what about the process.exe? Where does it go? And what is the difference between using this and one of those affinity progs?

 

 

 

.

- - - - - - - - TO FLY IS HEAVEN. TO HOVER IS DIVINE - - - - - -



[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

.

 

I'm not totally sure I understand what those files are suppose to do. I see the two shortcuts that would act with the cores a player has, but what about the process.exe? Where does it go? And what is the difference between using this and one of those affinity progs?

 

 

 

.

 

Put process.exe in your C:\Program Files (x86)\1C\Eagle Dynamics\Ka-50 folder along with the cmd files. Then you can create a shortcut to the cmd files on your desktop. The only difference is you don't have another program running in the background I guess.

Link to comment
Share on other sites

The only difference is you don't have another program running in the background I guess.

 

Actually, the main difference is reliability. The Set Affinity II method is very finicky, and sometimes works, sometimes doesn't. This is because Set Affinity II sets the affinity too quickly after DCS.exe launches. I estimate that on my computer, the Set Affinity II (or Prifinity) method worked properly less than 50% of the time.

 

Thats why I wrote the script. The script method has a delay before it sets the affinity. As a result, it seems to work 100% of the time (at least for me).

  • Like 1
Link to comment
Share on other sites

I have just gone from a dual core AMD 6000+ to a quad core I7 and found setting Affinity to two cores on the AMD to be a good thing. I recon it really looked smoother and a few extra FPS.

 

I set the I7 to use all 4 cores on BS and there was no FPS improvement over two cores but I did get slight, regular stuttering. It got pretty annoying, especially when looking out the side windows. I set the I7 to use only two cores and it was back to smooth as silk.

 

Steven.

Link to comment
Share on other sites

Actually, the main difference is reliability. The Set Affinity II method is very finicky, and sometimes works, sometimes doesn't. This is because Set Affinity II sets the affinity too quickly after DCS.exe launches. I estimate that on my computer, the Set Affinity II (or Prifinity) method worked properly less than 50% of the time.

 

Thats why I wrote the script. The script method has a delay before it sets the affinity. As a result, it seems to work 100% of the time (at least for me).

 

I found I couldn't get Set Affinity II to work at all. But, Prifinity work all the time for me.

 

Thanks for writing the script. It's what I'm using now and works every time also.

Link to comment
Share on other sites

I found I couldn't get Set Affinity II to work at all. But, Prifinity work all the time for me.

 

Thanks for writing the script. It's what I'm using now and works every time also.

 

 

Can anyone else confirm this as a good fix ? I'm nervous to try it ... sorry.

 

.

- - - - - - - - TO FLY IS HEAVEN. TO HOVER IS DIVINE - - - - - -



[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

Ultimate is just a package level of Vista. There is Home, Business and I am sure others as well. It just determines what preinstalled stuff comes with it.

 

And so as stated previously, and version of Vista will do.

 

Almost right. Try to get two physical processors running with Home or Basic, it's not going to happen. For instance I have 2 processors in my system and I need Ultimate (or business).

Link to comment
Share on other sites

Can anyone else confirm this as a good fix ? I'm nervous to try it ... sorry..

 

Lionspride: I am not sure why you are nervous (is it because you are concerned the script might harm your computer?). In any case, since I wrote the script I am happy to explain exactly what it does and how it works. I can even walk you through making your own script instead if you would rather do that than use mine.

 

Let me know.

 

Also, if you are concerned about the "process.exe" file, it is just the command line process utility from here: http://www.beyondlogic.org/consulting/processutil/processutil.htm . If you want, you can download it from that site and use that one instead of the one in Prophet's zip file. They are identical.


Edited by wombat778
Link to comment
Share on other sites

I have just gone from a dual core AMD 6000+ to a quad core I7 and found setting Affinity to two cores on the AMD to be a good thing. I recon it really looked smoother and a few extra FPS.

 

I set the I7 to use all 4 cores on BS and there was no FPS improvement over two cores but I did get slight, regular stuttering. It got pretty annoying, especially when looking out the side windows. I set the I7 to use only two cores and it was back to smooth as silk.

 

Steven.

 

No issues on my i7 at all here when changing the affinity to all cores.


Edited by JG27_Arklight

Ark

------------------

Windows 10 Pro x64

9900K @ 5ghz

Gigabyte Aorus Master Z390

32GB G.Skill Trident Z RGB CAS 14

EVGA RTX 2080 Ti Ultra XC2

256gb Samsung 869 Pro (Boot Drive)

1TB - Samsung 970 EVO Plus

Seasoninc 1000w Titanium Ultra PSU

34" ASUS PG348

Link to comment
Share on other sites

No difference noted in XP x64 either. It must be Vista and have a multi-core cpu to see the effect.

Funny thing is that whatever FPS numbers you get with XP(32 or 64 bit), you are sure to get more (at least 10-15 fps more) with this affinity tweak in Vista (32 or 64 bit).

Works like a charm.

:thumbup:

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

Lionspride: I am not sure why you are nervous (is it because you are concerned the script might harm your computer?). In any case, since I wrote the script I am happy to explain exactly what it does and how it works. I can even walk you through making your own script instead if you would rather do that than use mine.

 

Let me know.

 

Also, if you are concerned about the "process.exe" file, it is just the command line process utility from here: http://www.beyondlogic.org/consulting/processutil/processutil.htm . If you want, you can download it from that site and use that one instead of the one in Prophet's zip file. They are identical.

 

Wombat,

 

I'm guessing the nervousness is in screwing up my install of BS and having to start again.

 

However, if the offer to walk through each step is on the table I'd like to take advantage if possible please?

 

Regards,

 

Gary

I5 - 1TB SSHD, 256 SSD - Nvidia 1070 - 16gb ram - CV1

Link to comment
Share on other sites

Wombat,

 

I'm guessing the nervousness is in screwing up my install of BS and having to start again.

 

However, if the offer to walk through each step is on the table I'd like to take advantage if possible please?

 

Regards,

 

Gary

 

 

You bet. There is nothing at all in the script that should mess up a black shark install. In any event, here here is the walkthrough of each line of the script (I picked the DSCAff_4Core_SP.cmd one, but they are all almost identical). My apologies for the length. Please feel free to suggest any improvements.

-----

 
@echo off

:init
start bin\stable\Launcher.exe --console  

choice /t 30 /D N > nul          

goto loop  

This section first starts Black Shark normally.

 

Then, the "choice" line pauses the script for 30 second to give Black Shark a chance to load. "Choice" is used because there is no generic "wait" command for batch files, but using this is a workaround.

 

Finally, it jumps to the main loop part of the script. As a side note, to understand the flow of the script, I suggest skipping to the section starting :loop to continue reading

 

 :checkdcs

process -a dcs.exe | find.exe /i "0x0001" > nul
if %errorlevel% equ 0 goto setdcs

goto loop

This section of the script checks whether the affinity of dcs.exe is set correctly. First, the line starting "process" checks whether the affinity of dcs.exe is set to a single processor. Process.exe is called with the -a flag, and if it is set to only one processor, it will say that the affinity is set to "0x0001". Find.exe then checks the output of process.exe to see whether 0x0001 was returned

 

If the "process.exe" line above was true (e.g., that dcs.exe has its affinity set to only one processor), then the "if" line jump to the setdcs section to set the affinity to multiple processors. If the "process" line was not true, then it means that the affinity of dcs.exe is set properly, so go back to the main loop.

 

 

 :setdcs
choice /t 30 /D N > nul

process -a dcs.exe 01111 > nul
goto loop

This is the section of the script that sets the dcs.exe affinity to multiple processors. First, it calls the "choice" command to pause for 30 seconds. This gives DCS.exe a chance to load fully before setting the affinity. The lack of this delay is why Set Affinity II does not work properly

 

Then, the line starting "prcess" calls the process.exe and sets the affinity of dcs.exe to use processors 1, 2, 3 and 4.

 

Finally, it jumps back to the main loop

 

 :loop

choice /t 30 /D N > nul

process -a dcs.exe | find.exe /i "cannot find" > nul
if %errorlevel% equ 1 goto checkdcs

process -a launcher.exe | find.exe /i "cannot find" > nul
if %errorlevel% equ 1 goto loop

goto notfound

:notfound

This is the main loop of the script. First, this calls the "choice" command to pause the script for 30 seconds. Basically, this means that the script only checks the affinity status every 30 seconds. This prevents the script from slowing down the system by checking too often.

 

Then, the first line starting with "process" determines whether DCS.exe is running. It runs "process.exe" with the -a flag. If DCS.exe is not running, then it will say it "cannot find" the dcs.exe process. This is where the "find.exe" command comes in, as it will scan the output of "process.exe" for the words "cannot find". f the "find.exe" did not find the words "cannot find", then it means that dcs.exe is running. In this case, the "if" line jumps to the checkdcs section, which checks whether the dcs.exe has its affinity set correctly

 

The second line starting with "process" checks whether launcher.exe is running. Note that the batch file will only ever get there if dcs.exe was not running, because of the prior goto statement. If launcher.exe is running, then the if statement restarts the loop.

 

If neither dcs.exe nor launcher.exe is running, this means that the user has quit Black Shark. So the script exits.

  • Like 1
Link to comment
Share on other sites

Thanxs prophet, can you explain step by step how to install..?

 

grazie!

 

-LuKariello-

 

You mean more than I already did? I am not sure how that is possible.

 

1. Download the file

2. Extract to the 1C\Eagle Dynamics\Ka-50 folder. Same place the uninstall.exe is, same place the multiplayer.bat is.....

3. Double-click the .cmd file that applies to you. Or even make a shortcut to it on the desktop...

 

Same thing I said before.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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