Processor Affinity Explained
#16

{HVY-E}Jinxx Wrote:Well, I finally finished testing that program today...

While it's made for server administrators to run programs remotely, it is capable of running programs locally and assigning processors to each program through a command line interface.

All that is required is to alter the shortcut for a particular program to reference the PsExec program and then the arguments after it to select the appropriate program and core.

S!


Thanks, Jinxx, that's great news! Big Grin
Reply
#17

Fireskull Wrote:Let us know the results. Smile
it did nothing, this is not turning out as planned :'(
Reply
#18

Rad,

Can you pls post the RTS section of your Conf.ini so I can see it?

What type of processor are you using?
How many cores does it have?

S!
Reply
#19

Sometimes, it makes no difference. Sometimes, even if it makes a difference, it is so small that you could only see it by careful testing with FPS counter. It all depends on the particulars of your computer.
Reply
#20

{HVY-E}Jinxx Wrote:Rad,

Can you pls post the RTS section of your Conf.ini so I can see it?

What type of processor are you using?
How many cores does it have?

S!
it's an Intel Pentium dual-core, i'll post the whole config so you can help me with any errors too if that's ok

Code:
[il2]
title=Il2-Sturmovik Forgotten Battles
hotkeys=HotKey game

[window]
width=1024
height=768
ColourBits=32
DepthBits=24
StencilBits=8
ChangeScreenRes=1
FullScreen=1
DrawIfNotFocused=0
EnableResize=0
EnableClose=1
SaveAspect=1
Use3Renders=0

[GLPROVIDER]
GL=dx8wrap.dll

[GLPROVIDERS]
Open GL=Opengl32.dll
DirectX=dx8wrap.dll

[NET]
speed=8000
routeChannels=0
serverChannels=15
localPort=21000
remotePort=21000
SkinDownload=1
serverName=No Name
serverDescription=
remoteHost=
localHost=69.151.103.205
socksHost=
checkServerTimeSpeed=1
checkClientTimeSpeed=0
remoteHost_000=

[MaxLag]
farMaxLagTime=10.0
nearMaxLagTime=2.0
cheaterWarningDelay=5.0
cheaterWarningNum=-1

[chat]
region=(dx=0.6925,dy=0.071666665,x=0.0,y=0.0)
adr0=ALL

[game]
Arcade=0
HighGore=1
mapPadX=0.6689453
mapPadY=-0.046875
viewSet=40
Intro=0
NoSubTitles=0
NoChatter=0
NoHudLog=0
NoLensFlare=0
iconTypes=3
eventlog=eventlog.lst
eventlogkeep=0
3dgunners=1


[HotKey game]
PrintScreen=ScreenShot
P=pause
Pause=pause

[HotKey gui]
Escape=activate

[HookViewFly Config]
timeFirstStep=2.0
deltaZ=10.0

[HookView]
MouseLeft=Len

[HookView Config]
AzimutSpeed=0.1
TangageSpeed=0.1
LenSpeed=1.0
MinLen=1.0
DefaultLen=20.0
MaxLen=3000.0
Speed=6

[HotKey builder]
MouseLeft=objectMove
MouseRight=popupmenu
Enter=freeView
Shift MouseLeft=worldZoom
Alt MouseLeft=select+
Alt MouseRight=select-
Alt Ctrl=unselect
PageDown=change+
PageUp=change-
End=change++
Home=change--
Ctrl MouseLeft=insert+
Insert=insert+
NumPad-0=insert+
F=fill
Ctrl MouseRight=delete+
NumPad.=delete+
Delete=delete+
Backspace=cursor
Tab=cursor
F10=land
F11=onLand
NumPad-=normalLand
NumPad+=toLand
NumPad-5=resetAngles
NumPad-8=resetTangage90
NumPad-7=stepAzimut-5
NumPad-4=stepAzimut-15
NumPad-1=stepAzimut-30
NumPad-9=stepAzimut5
NumPad-6=stepAzimut15
NumPad-3=stepAzimut30

[MouseXYZ]
F1=SpeedSlow
F2=SpeedNormal
F3=SpeedFast
MouseRight=XYmove
F4 MouseRight=Zmove
MouseMiddle=Amove
F5 MouseRight=Amove
F6 MouseRight=Tmove
F7 MouseRight=Kmove

[MouseXYZ Config]
RealTime=1

[HotKey Console]
Shift Tab=Activate
[Console]
HISTORY=1024
HISTORYCMD=1024
LOAD=console.cmd
SAVE=console.cmd
LOG=0
LOGTIME=0
LOGFILE=log.lst
LOGKEEP=0

[sound]
SoundUse=1
SoundEngine=1
Speakers=0
Placement=0
SoundFlags.reversestereo=0
RadioFlags.Enabled=1
RadioEngine=2
MusicVolume=0
ObjectVolume=14
MusState.takeoff=1
MusState.inflight=1
MusState.crash=1
MusFlags.play=0
MasterVolume=14
Attenuation=7
SoundMode=1
SamplingRate=1
NumChannels=1
SoundExt.occlusions=0
SoundFlags.hardware=0
SoundFlags.streams=1
SoundFlags.duplex=1
SoundExt.acoustics=0
SoundExt.volumefx=0
SoundFlags.voicemgr=0
SoundFlags.static=1
VoiceVolume=8
Channels=2
SoundExt.extrender=0
SoundFlags.bugscorrect=0
SoundSetupId=8
ActivationLevel=0.02
Preemphasis=0.85
RadioLatency=0.5
AGC=1
PTTMode=1
SoundFlags.UseRadioChatter=0
SoundFlags.AutoActivation=0
RadioFlags.PTTMode=1
RadioFlags.PlayClicks=1
ActLevel=14
MicLevel=14
SoundFlags.forceEAX1=0

[rts]
ProcessAffinityMask=2
mouseUse=2
joyUse=1
trackIRUse=1
DisableIME=0
locale=

[rts_mouse]
SensitivityX=2.0
SensitivityY=2.0
Invert=0
SensitivityZ=1.0

[rts_joystick]
X=0 1 4 9 16 25 36 49 64 81 100 0
Y=0 1 4 9 16 25 36 49 64 81 100 0
Z=0 10 20 30 40 50 60 70 80 90 100
RZ=0 10 20 30 40 50 60 70 80 90 100 0
FF=0
U=0 10 20 30 40 50 60 70 80 90 100 0
V=0 10 20 30 40 50 60 70 80 90 100 0
1X=0 10 20 30 40 50 60 70 80 90 100 0
1Y=0 10 20 30 40 50 60 70 80 90 100 0
1Z=0 100 100 100 100 100 100 100 100 100 100 0
1RZ=0 100 100 100 100 100 100 100 100 100 100 0
1U=0 100 100 100 100 100 100 100 100 100 100 0
1V=0 100 100 100 100 100 100 100 100 100 100 0

[Render_DirectX]
TexQual=3
TexMipFilter=1
TexCompress=2
TexFlags.UseDither=1
TexFlags.UseAlpha=0
TexFlags.UseIndex=0
TexFlags.PolygonStipple=1
TexFlags.UseClampedSprites=0
TexFlags.DrawLandByTriangles=1
TexFlags.UseVertexArrays=1
TexFlags.DisableAPIExtensions=0
TexFlags.ARBMultitextureExt=1
TexFlags.TexEnvCombineExt=1
TexFlags.SecondaryColorExt=1
TexFlags.VertexArrayExt=1
TexFlags.ClipHintExt=0
TexFlags.UsePaletteExt=0
TexFlags.TexAnisotropicExt=0
TexFlags.TexCompressARBExt=1
TexFlags.TexEnvCombine4NV=0
TexFlags.TexEnvCombineDot3=0
TexFlags.DepthClampNV=0
TexFlags.SeparateSpecular=0
TexFlags.TextureShaderNV=0

HardwareShaders=0

Shadows=1
Specular=1
SpecularLight=0
DiffuseLight=1
DynamicalLights=1
MeshDetail=2
VisibilityDistance=2

Sky=1
Forest=1
LandShading=1
LandDetails=1

LandGeom=2
TexLarge=0
TexLandQual=3
TexLandLarge=0

VideoSetupId=15
ForceShaders1x=0
PolygonOffsetFactor=-0.15
PolygonOffsetUnits=-3.0
Water=1
Effects=1

[Render_OpenGL]
TexQual=3
TexMipFilter=1
TexCompress=1
TexFlags.UseDither=1
TexFlags.UseAlpha=0
TexFlags.UseIndex=0
TexFlags.PolygonStipple=0
TexFlags.UseClampedSprites=0
TexFlags.DrawLandByTriangles=1
TexFlags.UseVertexArrays=0
TexFlags.DisableAPIExtensions=1
TexFlags.ARBMultitextureExt=0
TexFlags.TexEnvCombineExt=0
TexFlags.SecondaryColorExt=0
TexFlags.VertexArrayExt=0
TexFlags.ClipHintExt=0
TexFlags.UsePaletteExt=0
TexFlags.TexAnisotropicExt=0
TexFlags.TexCompressARBExt=0

TexFlags.TexEnvCombine4NV=0
TexFlags.TexEnvCombineDot3=0
TexFlags.DepthClampNV=0
TexFlags.SeparateSpecular=0
TexFlags.TextureShaderNV=0

HardwareShaders=0

Shadows=2
Specular=1
SpecularLight=0
DiffuseLight=2
DynamicalLights=1
MeshDetail=2
VisibilityDistance=3

Sky=2
Forest=2
LandShading=3
LandDetails=2

LandGeom=2
TexLarge=1
TexLandQual=3
TexLandLarge=1

VideoSetupId=0
Water=1
Effects=1
ForceShaders1x=0

PolygonOffsetFactor=-0.0625
PolygonOffsetUnits=-1.0
Reply
#21

NP.

Going through your Conf.ini file now.
I need to know what video card you're running.
Also need to know if you are trying to run in DX mode or OpenGL.
S!
Reply
#22

{HVY-E}Jinxx Wrote:NP.

Going through your Conf.ini file now.
I need to know what video card you're running.
Also need to know if you are trying to run in DX mode or OpenGL.
S!
i'm no tech guy but i think it's chipset thing or something... and i'm using DX because OpenGL looked weird
Reply
#23

What video card are you using though?

Nvidia or ATI?
Reply
#24

{HVY-E}Jinxx Wrote:What video card are you using though?

Nvidia or ATI?
i thinks it's neither i think it's Mobile Intel 965 Express Chipset Family, it's a laptop
Reply
#25

Does anyone have any benchmarks comparing the affinity settings?
Reply
#26

Porksmuggler Wrote:Does anyone have any benchmarks comparing the affinity settings?


Hi,

A top FPS increase of about 15 or more was seen in my system just by switching the Process Affinity from the first core to the second core. I have a Dual Core system.


Fireskull Smile
Reply
#27

I do a lot of benchmarking, and the reason I ask is that this affinity is counter logical to thread management of the operating system. For instance, on a new i5 or i7 series CPU, the turbo mode kicks into higher multipliers for single threaded applications. The scheduler in Windows 7 or Vista will move the single thread around to balance load and temp on the 4 cores, all the while the CPU maintains the higher CPU clock. This processor affinity would interfere with this process. This all can be tested very simply with cpu-z and prime95 running a single thread. I understand your logic for moving the IL-2 thread off a core that the operating system is using for other apps, but this is not how current Intel CPUs with Windows 7 or Vista work in practice.
Reply
#28

Porksmuggler Wrote:I do a lot of benchmarking, and the reason I ask is that this affinity is counter logical to thread management of the operating system. For instance, on a new i5 or i7 series CPU, the turbo mode kicks into higher multipliers for single threaded applications. The scheduler in Windows 7 or Vista will move the single thread around to balance load and temp on the 4 cores, all the while the CPU maintains the higher CPU clock. This processor affinity would interfere with this process. This all can be tested very simply with cpu-z and prime95 running a single thread. I understand your logic for moving the IL-2 thread off a core that the operating system is using for other apps, but this is not how current Intel CPUs with Windows 7 or Vista work in practice.


Hi, Porksmuggler


Isn't it true that the system can always over ride the Process Affinity as the system decides that it is needed? Factors such as those written by you can cause the system to place processing where needed. From what I have read, the re-allocation of processing as needed is the case in every system.


Fireskull Smile
Reply
#29

Fireskull Wrote:
Porksmuggler Wrote:I do a lot of benchmarking, and the reason I ask is that this affinity is counter logical to thread management of the operating system. For instance, on a new i5 or i7 series CPU, the turbo mode kicks into higher multipliers for single threaded applications. The scheduler in Windows 7 or Vista will move the single thread around to balance load and temp on the 4 cores, all the while the CPU maintains the higher CPU clock. This processor affinity would interfere with this process. This all can be tested very simply with cpu-z and prime95 running a single thread. I understand your logic for moving the IL-2 thread off a core that the operating system is using for other apps, but this is not how current Intel CPUs with Windows 7 or Vista work in practice.


Hi, Porksmuggler


Isn't it true that the system can always over ride the Process Affinity as the system decides that it is needed? Factors such as those written by you can cause the system to place processing where needed. From what I have read, the re-allocation of processing as needed is the case in every system.


Fireskull Smile

Porksmuggler,

Try D/Ling this program http://technet.microsoft.com/en-us/sysi ... 97553.aspx. It will allow you to allocate cores at the startup of the program. You can setup every program that you use to run on a specific core.

S!
Reply
#30

Thank you, Jinxx Smile


Can you post the link to the core program in the first post and a brief explanation?


Fireskull Smile
Reply


Forum Jump:


Users browsing this thread: 5 Guest(s)