Jump to content

running et dedicatedly with one CPU core


PiNoY

Recommended Posts

Ok, have anyone here tried running ET with one core from a multi-core CPU or dual core CPU? how was the performance, any noticeable difference felt? improvement feedback would be appreciated if any. thanks in advance!

Link to comment
Share on other sites

  • Clan Friend

When I played on windows with pb, since pb used to give me some (minor) fps lags, I moved et to one core and all pb services and some other processes to the other (using winafc), and I noticed that my fps were more steady, no placebo it was a real improvement

 

With tzac there are no lags anymore and I wouldn't mess with et in any way while using it, you never know :)

 

Linux has no problems in managing cores, it does a much better job than win, so I never needed anything like that. Last summer I tried a python script that was run via lua from conky to switch the core used by et, if the temperature of that core was too high if compared to the other. In the end I decided it was useless and that the os did a better job already, and maybe I needed a better heatsink...

Link to comment
Share on other sites

Linux has no problems in managing cores, it does a much better job than win, so I never needed anything like that.

 

What? *nix's process scheduler is horrible in comparison to Windows.

 

The reason you don't need to screw with processor affinity on *nix is because you don't have a PB Driver trying to scan you entire harddisk all the time, thus creating more threads whilst still accessing the originals within ET.exe on the original core. Switching ET.exe (and thus it's dependents, ie. PB) to one core speeds it up because there's no cross-core access between PB and ET.exe itself.... IF you disable PB and leave affinity alone, since ET is single threaded, it has exactly the same result as setting affinity.

Link to comment
Share on other sites

  • Clan Friend

The reason you don't need to screw with processor affinity on *nix is because you don't have a PB Driver trying to scan you entire harddisk all the time, thus creating more threads whilst still accessing the originals within ET.exe on the original core. Switching ET.exe (and thus it's dependents, ie. PB) to one core speeds it up because there's no cross-core access between PB and ET.exe itself.... IF you disable PB and leave affinity alone, since ET is single threaded, it has exactly the same result as setting affinity.

Well, of course I don't know how much cpu does pb actually use on Linux, never checked, maybe it just feels smoother because it doesn't use as much cpu as in win (btw, punkbuster doesn't check your entire hd, I don't know where you found this piece of information, because pb just checks some files inside you game folders, and maybe not even that).

 

But, I had a (slightly) better performance and fps stability (in windows) doing the exact opposite of what you said, i.e. forcing et.exe in 1 core, and pb services in another core.

That means that the potential slowdown caused by what you call 'cross-core' access (you mean accessing the cache? I'm not such an hardware expert, actually I don't know if in my cpu each core has its own cache) is more than compensated by the fact that pb services have a core all for them. (And pb doesn't necessarily access the same parts of memory the game is accessing in a given moment, let alone when it needs to do some totally independent things like calculating the md5 of a pk3 etc.)

 

What? *nix's process scheduler is horrible in comparison to Windows.

horrible is a big word, care to elaborate (or give some link)?

Link to comment
Share on other sites

Now this is getting confusing for me. The software that I used is somehow showing ET is using -- core (no numbers shown), it doesnt show if its core 1 or 2 while others like Chrome/Firefox or windows are using cores 1,2 ( or can be changed to dedicated core).

 

I tried launching ET with high priority and affinity 1 as parameters using MSDOS binary start, the results were - affinity assignment didnt work (was not applied) but high priority has taken effect based on Task Manager | Process view.

 

Then I tried using Task Manager and attempted several times to change ET affinity core while ET running, failed. But I can change the ET program priority value from Normal to High or Real Time while ET is running. The problem of ET running on High is it will lag first on the very first 3 minutes of playing (red connection graphs instead of green) then it will be just fine after that.

 

Weird to find out that winafc could not work with ET. It seemed to me that winafc could not assign core affinity to ET using profile, but worked with other programs such as Chrome.

 

Am going to use another software this evening or tom, I think its affinity manager and see how it works.

Link to comment
Share on other sites

  • Clan Friend

Et uses one core by default...even if you have multi-core processor...unless you set r_smp 1 ???....but its experimental in ET

That was understood.

Actually r_smp is available only in the Linux version, and even there it does nothing, there is a function that always returns 0 (always fails, it's just a 'xor eax,eax ret', as far as I remember), so it always says 'acceleration failed' by design.

But I think our problem here was to choose the core where et should run, the fact that it's one core, and only one, is understood I think

 

Now this is getting confusing for me. The software that I used is somehow showing ET is using -- core (no numbers shown), it doesnt show if its core 1 or 2 while others like Chrome/Firefox or windows are using cores 1,2 ( or can be changed to dedicated core).

[cut]

In my case (I have win XP, maybe that's the reason?) winafc does change et affinity (and process explorer tells me that affinity is set to cpu0 or 1, and the cpu graph shows clearly that one core is being used more than the other)

 

I made a little test:

etpro lan server with pb, then connect to it with pb, cg_lagometer 2 (an etpro setting to see a graph of your fps) ervery second or so I have a huge spike. Winafc helped me reduce this spike by putting pb in a separate core than et.

same server, but without pb: no big spikes, that means pb is the main reason

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.