HOWTO: StarCitizen.exe maxxing Core 1 and CPU Affinity

As many of us are aware the current Star Citizen Alpha build has an issue where the first CPU core is excessively utilized or at 100%. The workaround many use (until CIG fixes it) is to go to find the process in Task Manager > Details Tab > Set Affinity and disable then re-enable one core. Kind of tedious and I don’t always remember to do this, plus it is debatable that it actually helps. However, I love to script things.

FAIR WARNING: I can’t guarantee this will not break anything, but It works for me. Read carefully so you know what you are doing. I don’t take credit for this. It was mostly derived from here … ows-script

So what I do is save the following text into a text file, rename it StarCitizenAffinity.bat, and place in a convenient location. Directions are in the file, read carefully.

[code]REM Right-click on this batch file and “run as administrator”, required for it to take effect

REM Core # = Value = BitMask
REM Core 1 = 1 = 00000001
REM Core 2 = 2 = 00000010
REM Core 3 = 4 = 00000100
REM Core 4 = 8 = 00001000
REM Core 5 = 16 = 00010000
REM Core 6 = 32 = 00100000
REM Core 7 = 64 = 01000000
REM Core 8 = 128 = 10000000
REM Just add the decimal values together for which core you want to use. 255 = All 8 cores.
REM All Cores = 255 = 11111111
REM The example below assumes a 4 core cpu, and toggles Core 4 off then on for the process
REM Uncomment the lines (i.e. remove "REM ") you wish to use to execute
REM the pause lines are there if you want to observe the changes step by step

REM PowerShell “$Process = Get-Process StarCitizen; $Process.ProcessorAffinity=7”
REM pause
REM PowerShell “$Process = Get-Process StarCitizen; $Process.ProcessorAffinity=15”
REM pause[/code]

EDIT: corrected some comands