Video Card

Third party software discussion goes here.
Subdued
Posts: 40

Re: Video Card

Post#21 » Thu Sep 25, 2014 7:33 pm

OK, that sounds like something I want to try, however: ISBoxer makes an .ini file for each character. So for me, that's 6 .ini files that are loaded for each box. How would I add that CPU affinity code to each .ini file?

Do I just add a single line of CPUAffinity1=1 to the first .ini file, and then CPUAffinity2=2 to the second, CPUAffinity3=3 to the third, CPUAffinity4=1 to the fourth, etc?

Noren
Posts: 1053

Re: Video Card

Post#22 » Fri Sep 26, 2014 4:23 am

Okay I ran some tests, so now I have a better idea of what I'm talking about.

A brief introduction for those of you who are unfamiliar with what we're talking about: EQ was originally designed for single core systems. As dual core systems became more common, people found that EQ only used one of their two cores. This can cause problems when the game is confined to half of your resources, no doubt! Time passed and Sony patched the clients to better handle multiple cores and gave the players some degree of control over it via eqclient.ini with CPUAffinity settings. Done correctly, joyous performance can be had. Done incorrectly it can cause frustration and overload CPU cores.

The cores themselves are often split up into what are called 'Logical Processors'. Generally, there are 2 Logical Processors per core. This is what the marketing folk named as Hyperthreading. It's simple. Take a finite resource that had one line/queue, and give it two and alternate turns. Logical Processors are just a slot of compute time for a particular core, and the OS balances who gets the compute time. With 2 Logical Processors per core, your modern day quad core i7 will have 8 Logical Processors.

My testing showed some interesting results. CPUAffinity settings in eqclient.ini do, indeed, work. It allowed me to force eq clients to run on particular logical processors. This is confirmed working on my computer with Windows 8 and the Underfoot client. I was able to spread 18 clients out amongst all cores in one test and then confine to a specific half of the available cores in another. If I wanted to, I'm confident I could confine them all to one core with this process.

The results; however, are not what I was expecting.

Putting in CPUAffinity settings that rotated logical cores to spread the load evenly, well it did just that. But the overall CPU usage was higher than if I didn't bother with CPUAffinity settings at all. Let's take a look at some numbers:

Test 1: CPUAffinity defined for 18 clients rotating evenly amongst ALL logical processors (cores).
cpusnapshot_rotating_affinity.png
cpusnapshot_rotating_affinity.png (81.71 KiB) Viewed 521 times

We can see 18 eqgame.exe processes. We can see the overall CPU usage for the system is around 19%. We can see that CPU 1-7 are, indeed, in use, and are fairly evenly loaded.

Test 2: CPUAffinity defined for 18 clients rotating evenly amongst HALF of the logical processors (cores).
cpusnapshop_last4_affinity.png
cpusnapshop_last4_affinity.png (87.53 KiB) Viewed 521 times

We can see 18 eqgame.exe processes. We can see the overall CPU usage for the system is around 22%. We can see that CPU 4-7 are, indeed, in use, while 3 and below are not. This is behaving exactly as I set it to with CPUAffinity in eqclient.ini.

Test 3: CPUAffinity undefined (no entries at all) with 18 clients running:
cpusnapshop_no_affinity.png
cpusnapshop_no_affinity.png (84.09 KiB) Viewed 521 times

We can see 18 eqgame.exe processes. We can see the overall CPU usage for the system is down to 9-10%. We can see that CPU 1-7 are, indeed, in use, and are fairly evenly loaded.

Performance, as perceived by the human eye, is the same between tests 1 & 3. Test 2 was noticeably slower confined to half of the cores. This isn't a lot of data, but if I were to draw a conclusion, then I'd say CPUAffinity is best left undefined by the user. Let the client/OS handle it. If; however, you see cores going unused on your machine, then you could get your hands dirty with CPUAffinity and put those cores to work.

Dreos
Posts: 489

Re: Video Card

Post#23 » Sat Sep 27, 2014 12:37 am

Noren, thank you! That post was amazing. I had some odd Cpu stuff in my eqclient.ini and after editing it all out and letting the comp/OS handle all of that, as you suggested, my CPU use dropped by a LOT ! :D

conradd
Posts: 381

Re: Video Card

Post#24 » Wed Mar 04, 2015 2:52 pm

Sorry to dig an old post but now, I'm using a new video card : GTX 970 with 4GB

And finally, I can log 18 toons with no more CPU overload !

So it seems that to box some toons, we need to have a little RAM for it in the video card ;)
"Shorties will rule the world !"
[CLR] Conradd <Drachenkinder>

Return to “Third party software”

Who is online

Users browsing this forum: No registered users and 1 guest