Set Affinity win 10

Discussion in 'The Veterans' Lounge' started by Veteran_BetaTester, Feb 22, 2021.

  1. Veteran_BetaTester PIZZA!

    Task Manager
    Right click process
    eqgame
    there is not an option for ' Set Affinity ' Windows 10.

    My one core is redlining with 2 EQ running.
    Core 0 is maxed red.
    Core 1 green
    Core 2 green
    Core 3 green
    Core 4 green
    Core 5 pings max, then regular green

    Ryzen 5600x

    Found it.
    Task Manager.
    Instead of Process tab, I found Details tab where I can see Set Affinity.

    Isn't there a /setaffinity=-1 that I am supposed to do in eqclient.ini?
    (If that is the right command)

    Mine shows
    CPUAffinity0=0
    CPUAffinity1=1
    CPUAffinity2=2
    CPUAffinity3=3

    Should it be
    CPUAffinity0=-1
    CPUAffinity1=-1
    CPUAffinity2=-1
    CPUAffinity3=-1
    CPUAffinity4=-1
    CPUAffinity5=-1

    or
    CPUAffinity0=-1?

    And does this apply to Window 10 vs 7 that I am used to. (new windows 10 installed is why I am confused)
  2. Zipe The Healer

    Hello Veteran_BetaTester,
    I am not an expert on this and all I know is common knowledge gathered by others over the years... This is how it works (or how I understand it works):
    CPUAffinity0=0 -> You are telling your first open EQ client to use Core 1.
    CPUAffinity1=1 -> you are telling your second open EQ client to use Core 2...
    So you don't want that, you want EQ client 1 to use whatever cores it needs or windows needs to set.
    That's why you do this:
    CPUAffinity0=-1 -> This means "for EQ client 1, use whatever windows thinks its needed".
    Having this:
    CPUAffinity1=-1 -> is only needed if you use a second EQ client...

    TL;DR you should have:
    CPUAffinity0=-1
    CPUAffinity1=-1
    CPUAffinity2=-1
    CPUAffinity3=-1
    CPUAffinity4=-1
    CPUAffinity5=-1
    This means "the 6 first EQ clients you open are going to use whatever cores Windows think that are best to manage the situation"
  3. Soulbanshee Augur

    Not exactly...

    On a multi-threaded system, =0 and =1 would be telling EQ to use thread (CPU) 0 and 1, which would be core 0. Thread 2 and 3 would be core 1. This does not apply to non-threaded systems like Intel Core i3/i5 or some AMD chips.

    Since EQ is not multi-threaded capable, it can only use one thread at a time even if it is shifted between cores. Some systems this can cause instability in the game, which is why people set it to a static thread. If you want to multi-box and set to a static thread, you want all affinity instances set to be either an odd or even number so you spread it across the cores on the system instead of pairing up on one and sharing the power.

    Ryzen 5600x is multi-threaded so for 2 instances you want to use thread 0 and 2 or 1 and 3 (or any combination of both even numbers or odd numbers within the number of threads you have: 0-11).
    Tegila and Veteran_BetaTester like this.
  4. Fanra https://everquest.fanra.info

    https://everquest.fanra.info/wiki/Graphics_and_performance_settings_guide#CPUAffinity

    If your CPU (processor) has more than one core (if your computer is from 2007 to the present, it likely has more than one) you can tell EQ to set its affinity to use all cores. While EQ only uses one core, this should enable it to use whichever core is free. Regardless, everyone should set this, as it is unlikely to hurt and can help.

    To do so, edit your eqclient.ini file, located in your EverQuest folder on your computer (note by default Windows hides the extension .ini in Explorer). Open eqclient.ini (or just eqclient if extension hidden) by double clicking on it. Look in the file for "CPUAffinity0=x" (without the quotes, and a number instead of x), usually in the [Defaults] section.

    If it does not say: "CPUAffinity0=-1" (that's a negative one), then change it to that (without the quotes). If you can't find it, add it to the [Defaults] section.

    If you multibox on the computer, add "CPUAffinity1=-1" for two boxing and "CPUAffinity2=-1" for three boxing, and so on (again, without the quotes).

    CPUAffinity0=-1
    CPUAffinity1=-1
    CPUAffinity2=-1
    CPUAffinity3=-1
    Veteran_BetaTester and Strumph like this.
  5. Veteran_BetaTester PIZZA!

    So how do I write the code for this advice?


    Thanks for replying everyone!
  6. Zipe The Healer

    Hello,
    What Soulbanshee meant is that you do this:
    CPUAffinity0=0
    CPUAffinity1=2
    CPUAffinity2=4
    CPUAffinity3=6

    On your first post you said you use two EQ clients. If I am understanding Soulbanshee well, if you do the lines above you'll spread your CPU power evenly between your two clients based on the EQ client limitations and the CPU that you use.

    With your old configuration you were forcing your 2 EQ clients to use same core (as was clearly visible on the CPU usage stats you posted), so don't use this:
    CPUAffinity0=0
    CPUAffinity1=1
    CPUAffinity2=2
    CPUAffinity3=3

    I think that the best advice I can give is... do anything but your initial configuration. I would try both ways that have been suggested and stick with the one giving best performance.

    Good luck!
  7. Veteran_BetaTester PIZZA!

    Will let you know how it goes, thank you :) .

    Soulbanshee, is this OK with you?
    CPUAffinity0=0
    CPUAffinity1=1
    CPUAffinity2=2
    CPUAffinity3=3
  8. Metanis Bad Company

    If you have a Ryzen 5 5600x and you have Windows 10 then just follow the advice in the 2nd post in this thread. You have a massive amount of spare CPU power, just let Windows 10 take care of itself.
  9. I_Love_My_Bandwidth Mercslayer

    Nerd warning - the information that follows may contain nerdy information. I am only seeking to clarify the good information above.

    Others looking at this thread who may not be aware that not every CPU supports Simultaneous MultiThreading aka SMT. This matters because the numbers you put into the CPUAffinity= entry will affect how EverQuest runs on your computer.

    CPUAffinity= settings in the eqclient.ini needs to account for physical and virtual cores. To determine this, you need to know if your CPU supports [Hyperthreading aka HT (Intel)] / [Simultaneous MultiThreading aka SMT (AMD)] in order to get the correct numbers in the eqclient.ini.

    HT or SMT use a physical core paired with a virtual core. Which means if you use the sequential numbering listed above (0,1,2,3) and you have a CPU that runs HT or SMT you are robbing yourself of extra performance.

    EverQuest should never be assigned solely to a virtual core. Only assign EQ to physical cores. If you need more information about why, please let me know.

    That's nice I_Love_My_Bandwidth. But you've totally confused me now. Just tell me what I need to do to get my boxes running right!

    If you have a 6-core CPU (6 physical cores, 6 virtual cores = 12 threads) that supports HT or SMT like Veteran_BetaTester's 5600x, you will assign as follows:

    CPUAffinity0=0
    CPUAffinity1=2
    CPUAffinity2=4
    CPUAffinity3=6
    CPUAffinity4=8
    CPUAffinity5=10

    This ensures every EverQuest instance tries to access its own physical CPU core. If you only run two instances, only Cores 0 and 2 will be used.

    Fanra's point to setting to CPUAffinity=-1 was valid for older versions of Windows and older hardware. But on Windows 10 and on modern CPUs, setting to -1 will pile EQ instances on the "turbo" core. Windows 10 is a great OS, but it caters to modern software/games. Not 22 year old games like EverQuest. I do not recommend running CPUAffinity=-1 unless you are on Windows 7 or older, and on hardware build prior to 2014.

    Okay. That makes some sense I_Love_My_Bandwidth. But my CPU only has two cores and I have NO IDEA if mine uses HT or SMT or if it's made within the last 5 years. wthbbq11!

    That's okay. Click your Windows Start button. Search for System Information. Look down the Item column and find the Processor. It will say something like this:

    Code:
    Processor    AMD Ryzen 9 3900X 12-Core Processor, 3793 Mhz, 12 Core(s), 24 Logical Processor(s)
    
    This will tell you how many PHYSICAL cores you have and how many total threads (Logical Processor(s)) you have.

    Make sense?

    In the case of the two cores question let's pretend it's only two physical cores with no HT or SMT. Then what is a person to do?

    Well, you break out your EQ sessions accordingly. If you run four instances of EQ on that system, but you want one of the instances to have a high framerate, you could break it out like this:

    CPUAffinity0=0
    CPUAffinity1=1
    CPUAffinity2=1
    CPUAffinity3=1

    In this scenario, your "main" character gets to use Core 0 all by itself. The three boxes will fight over resources on Core 1. This means you may need to reduce (perhaps drastically) the visual effects and/or the resolution of those three boxes in order to maintain reasonable framerates. There are many guides on how to do this. I won't cover that.

    It's easier than ever to get EQ running respectably, even at high resolutions like 2k or 4k. If you have any questions on the points above, let's talk!



    If you want more information to slake your inner nerd's penchant for technical knowldge on this topic, see my post from a couple years ago: Everquest & CPU Affinity for Boxing

    I do mention in that thread that assigning cores is no longer needed. I have since found that strapping cores to instances on the game client side results in better stability and performance. My day to day hasn't allowed me to dig into why. My anecdotal evidence suggests that Microsoft has softened it's stance on allowing applications to determine their own CPU needs rather than forcing the application to essentially 'sit down and shut up'.
    yosco, Zipe and Niskin like this.
  10. Fanra https://everquest.fanra.info

    What I gathered from I_Love_My_Bandwidth is that for 99% of us, we should remove the CPUAffinity entries and just let Windows 10 handle it.

    I'd love to have someone at Daybreak/Darkpaw who should know exactly how EverQuest performs to tell us what to do on this. Someone like JChan should know this stuff. Then I can edit my wiki article to match.

    Really, I'd love someone at Darkpaw to review the entire article https://everquest.fanra.info/wiki/Graphics_and_performance_settings_guide and tell me what is wrong. But they don't work for me.
  11. Gr8fuldave Augur

    There is some good info in this thread! Can anyone tell me how to make it so that you can rearrange your separate eq instances on your Taskbar? I like to be able to put my characters in a certain order in my Taskbar. I know there's a way to do it, because I did it years ago, but I can't find anything on the net that explains how. I'm trying to help a buddy out.
  12. Niskin Clockwork Arguer

    I think if you have icons for each of your EQ installations in the Start Menu and you pin them to the taskbar, then you can arrange those in the order you want them. Then when you launch them they will stay in those positions.
  13. CatsPaws No response to your post cause your on ignore

    Its not how many icons for me. It's my in game window mode (sorry I get window and full screen mixed up) where you can see the upper right 3 options. Like minimize (-) close (x) and make it big . These are on the windows bar. Then at the bottom will be your icons for whatever other programs you have showing like google or calculator, date time, speakers etc So whichever mode shows that - full screen or windowed?)

    So you click the - one which shrinks your current copy your logged into. Then log into the next one, shrink it and so on.

    I also run a specific order to my copies and I will log out everything if that order get mixed up lmao. This is also how I 6 box by clicking which ever icon represents that character.