Running ET on X cores.

Hi,

I made this application when M1R53 mentioned he needed something to run ET with 1 core. This was created in like 3mins, and compiled.

Make sure that this file resides inside your Enemy Territory directory

Default: C:/Program Files/Enemy Territory
image: l_affinittyet

Updates (28th Jan 2011)
* ET Affinity now supports other applications(v1.4).
* ET Affinity now makes Enemy Territory an important process.
* ET Affinity now forces ET to start quicker.
* ET Affinity now supports up to 32 core processors.
* ET Affinity now features a new icon.
* ET Affinity now starts up quicker.
* ET Affinity had a problem with 31 cores, now fixed.(v1.4).
* Optimised code a bit more.
* Fixed form resize problem.
* App now has an icon.

Download
Latest Version v1.4
Main http://gthang.co.uk/Applications/ET-Affinity1.4.exe
Alternative http://www.2shared.com/file/aJBeAUFM/ET-Affinity14.html

v1.3
Main http://gthang.co.uk/Applications/ET-Affinity1.3.exe
Alternative http://www.2shared.com/file/XDdevTpv/ET-Affinity13.html

v1.2
Main http://gthang.co.uk/Applications/ET-Affinity1.2.exe
Alternative http://www.2shared.com/file/y4aMsnyu/ET_Affinity.html

v1.0
Main http://gthang.co.uk/Applications/ET-Affinity.exe
Alternative http://www.2shared.com/file/bZlulSJc/ET_Affinity.html
Comments
82
nice but we have PbPrior :<
Never used PbPrior tbh. No one gave it in his topic so quickly done this. I'm working a little bit on it, trying to see if I can boost ET performance. I thought maybe automatically setting the ET process to real time or high would increase performance, but it doesn't at all. I managed to boost the process starting by couple of ms's but that's it.
Parent
nice thx m8!
Does it work for you?

What Windows, SP, .NET you using?

Thxu ;)
Parent
im gonna try now.. (with ma pizza)
windows 7 unstable fps as fuck. so i hope it will work ;O)

e: how can i run it with slac1!
Parent
Can't atm. Maybe soon when I can be bothered. SLAC being gay for me.
Parent
ok alright. cheers :)
Parent
ive got unstable fps as fock in windows 7 with really good gfx + good cpu :(
Parent
Install XP, only solution tbh.
Parent
I got 8 cores, what now :S:S
I got 16 cores, what now :S:S
Parent
Then check back here later for another version which supports up to 16 cores..
Parent
Done, 32 cores supported now..
Parent
Then check back here later for another version which supports up to 16 cores.
Parent
Done, 32 cores supported now.
Parent
got some problem with .NET framework.
is it compatible with XP?
and how about SLAC?
What problem?
Yes Windows XP, Vista and 7
No SLAC support right now, but it's possible. But I have no time since SLAC is being gay on Windows XP and Windows 7 for me. So that will have to wait.
Parent
thought I got framework up to date but I didnt, updating atm.
well,thats too bad, and therefore useless for many ppl :(
otherwise its good job, keep up
Parent
Yeah, you should need 4.0 Framework.
Yeah I understand people wonna use SLAC, and I am wanting for it to work, but I can't even interact with SLAC without it freezing.
Thank you.
Parent
ye,now it works, too bad I wont use it at all as I use SLAC all the time :D
probably chaplja might help you if you asked him :o
would really like to see it to be compatible :)
Parent
Glad it works for you ;), and also thank you for the interest. I will hope to get a SLAC version working by the next release. I am also working on a SLAC launcher, so most of the code is there tbh.

Will PM you when I release it ofc ;)
Parent
looks like c# gui builder :D
Visual Studio all the same ;)
Parent
happy, in the future can you make it so i can add certain programs to accelerate than having all programs boosted because some stop working when you reach a certain priority.
Parent
I will add this in the next release. It will be released either today or tomorrow. I will PM you.
Parent
does it do anything but change process affinity?
Read the update log ;)
Parent
might be revolutionary changing priority aswell
Parent
Does more than that also. Perhaps create something better than this then, be my guest. Instead of giving feedback and knocking everyone else's work.
Parent
this work is to heavy to knock
Parent
What if I only have 1 core? :(
Then the application will only use 1 core. Pointless for you then ;). BUT, it also should boost performance of application.
Parent
ET supports only 1 core, this is almost useless
weird...

i did a timedemo (adler). with this program i got better fps without this program.

did twice with and without program -
1st try without program - 213 fps
2nd try without program - 213 fps

1st try with program - 192 fps
2nd try with program - 199 fps

image: ohqrv6
image: 24v6xzr
There should be no performance loss whatsoever. Could you please load the application, load ET with as many cores you want. Then close the application (press Windows key or w/e) and then timedemo it. I think I might know why it did this, (since 1.4 I think)
Parent
K,
I loaded the ET Affinity. Set on 2 cores (core2duo), launched ET, closed the application. Then timedemo, but still in the 190s. Again, without running the application, 211 fps.

:?
Parent
Don't see how it could even affect ET in a negative way. I'll have a look through the code tonight or tomorrow and optimise it a bit more.
Parent
i will try on WinXP too, and tell u the result/difference :)
Parent
Thank you ;). I just had a great idea for another performance boost. This should be a few FPS difference.

Will be integrated tomorrow.
Parent
same, ill get 10ish fps increase with normal 1 core than trying to force my both into the use
Parent
Protip: running ET without this thingy is exactly the same as using this tool and select the number of cores you have. Only thing it can do is restrict the number of cores to use for ET, which you ofc want to be 1. Task manager can do this aswell.

Nothing here, move along.
are you sure that it is better to set ET to only 1 core? (does it have to be core 0 or 1 then - or does it not matter? I heard it is recommended to run on core 0 for whatever reason)
Parent
It should have a very minimal impact, but there is a certain cost of migrating a process from one processor to another, depending on the cache architechture. However, it's pretty minimal, context switches will occur anyways, which is about as expensive as a context switch. Now, one way to get away from the context switches is to assign ET to a core that has no other processes to run. So, restricting ET to one core (I'd take the second one, not the first one, dunno what the OS might be doing that can't be done on core two), and restricting everything else to the other cores, might give a (very very small) boost.

But this is speculation from my side, I don't know the internals of the Windows scheduler.
Parent
I understood all what you wrote, just need a little confirmation on this thing (but you indirectly already wrote that..):

ET should be set to only 1 core.
Parent
Do you know the code? No. Do you know what this application does in the background? No. Please explain why you even said that? Task manager resets the core after each map change anyway. This doesn't.
Parent
I said this because I find your advertising misleading. By saying "Run ET on X cores", it sounds like you suddenly turned ET into a multicore game, which you obviously haven't. And no, I don't know the code, but I can pretty much imagine what it does. Set affinity, and do it again when the map changes. Oh, and maybe it sets priority too.
Parent
Close, but not exactly. The core isn't changed at map start, it is set at runtime, and therefore ET should stay on 1 core. I didn't even claim that it used more than 1 core. The topic reads

'I made this application when M1R53 mentioned he needed something to run ET with 1 core. This was created in like 3mins, and compiled.'

Plus this application consists of 319 lines of coding, doing what you said would consist of about 4.
Parent
Yes, but it does not make ET run on X cores (for any X different than 1).
Parent
You simply wrote what I was about to write. ET is designed to work single core, this is no where near close a multicore running application :|
Parent
does the program even reset the affinity of ET every x seconds? because after changing map/round, ET resets the process' affinity.

pbprior does that.

also, the program lacks the function to set affinity to the core you want it to run on (core 0 / core 1.. or perhaps core 4 + 5?)

+ you can't set the process priority

good work nonetheless, although I don't see why I should be using this is favor of pbprior
This does keep the affinity to 1 core after a map change. The process priority is done via the application, although it may not appear within Taskmanager.
Parent
Nice, but unfortunately useless for me as I only use SLAC (etpro) and a shortcut for jaymod pub.
-what about loading mods support
-can you make it check pnkbstera.exe and pnkbusterb.exe additionaly (as i find that helping for those every few seconds little lagspikes)
Error report Win7 32 http://pastebin.com/q8NJ8e9B
I will add what you said in the next version.

This problem may be a registry permissions issue. Was the .exe inside of your ET directory? Did the application load/start up?
Parent
was on desktop, when moved into game dir worked fine
Parent
;), glad it worked for you. I will put some error handling. And perhaps support for ET outside of the ET directory.
Parent
What mods would you want on the app?
Parent
Now it looks more cooler.
Add these mods:
ETpro,Jaymod,ETpub,NoQuarter..
Should be good:D
Parent
Any update? I'd love to load SLAC directly while setting affinity :)
Parent
Bit busy atm :(
Parent
still waiting
Parent
Slac changed since I worked on this, so I'd have to rework on the code. I have no motivation at the moment, if someone serious is willing to take it on, I'll give the source code.
Parent
Add ETNAM mod into mod select list:)
Parent
does this also works on xp64?

Bcuz its not working here
My error is: 0xc0000135
Install .NET 4.0 Framework.
Parent
what does it exactly do like increase ur fps or wat?
and does it work :O
I usually run my ET with 6 cores, dont know about you.
also;

tl;dr
so does it works or not ?
in win xp home 32 bits ?
Yep.

Windows XP 32bit
Windows XP 64bit
Windows Vista - Home, premium etc.. 32bit
Windows Vista - Home, premium etc... 64bit
Windows 7 - Home, premium etc... 32bit
Windows 7 - Home, premium etc... 64bit

Requirements: .NET Framework 4.0

Download from Google.
Parent
ok so thx for reply, i will test it and wait for new relase
Can't make it work :(. Win7 Pro x64, .Net Framework 4.0 and ET after connect/vid_restart still using only 1 core :(. Tried few apps which works for my friends, but not for me. I'm stuck and dont know what to do beside reinstall Win7 but who know is it fix my problem :/.
Hmm. Just don't vid_restart?:D
Parent
Its not only vid_restart problem. After every warmup, round, match, new map... :/
Parent
Updated 1.4 link on my server, link now works.
Back to top