Reducing CPU usage

htw

Developer
Joined
Aug 27, 2006
Messages
13,185
Reaction score
362
Points
83
Location
Albuquerque, NM
Hey all. I had a recent issue with high CPU usage while boxing / botting, and something I changed made a dramatic difference, so thought I would share. I don't know if it will help you out or not, but you can always try, if interested.

I bot 18 characters/accounts, these are macroing pretty much full time.

For my CPU affinities in eqclient.ini, I have them set up like this:

Code:
CPUAffinity0=0
CPUAffinity1=1
CPUAffinity2=2
CPUAffinity3=3
CPUAffinity4=4
CPUAffinity5=5
CPUAffinity6=6
CPUAffinity7=7
CPUAffinity8=8
CPUAffinity9=9
CPUAffinity10=10
CPUAffinity11=11
CPUAffinity12=12
CPUAffinity13=13
CPUAffinity14=14
CPUAffinity15=15
CPUAffinity16=16
CPUAffinity17=17
CPUAffinity18=18
CPUAffinity19=19
CPUAffinity20=0
CPUAffinity21=1
CPUAffinity22=2
CPUAffinity23=3
CPUAffinity24=4
CPUAffinity25=5
CPUAffinity26=6
CPUAffinity27=7
CPUAffinity28=8
CPUAffinity29=9

I use MQ2FPS, and have it configured like this:

Code:
[MQ2FPS]
ForegroundMaxFPS=45
BackgroundMaxFPS=15
Indicator=1
IndicatorX=5
IndicatorY=75
Mode=1
Color=0x0f
[Rendering]
Chat=0
Clip=actor
Actor=1
LastActive=1
BGRate=20
ReverseBGRate=0
Top=1

I use MQ2EQWire, and have it configured like this (for all chars):

Code:
[server_char]
BGRenderRate=0
StatusOutput=0
DebugOutput=0
DrawChatWindows=0

With this configuration, I always got about 70% CPU usage. After some hours in game, that would creep up, and eventually be 95-100%, and the lowest it would drop down is about 90%.

cpu1.png



I profiled the processes, including at system/driver level, and found the audio drivers causing it. After a few adjustments, I now run about 20-25% CPU usage, with no other changes - and no difference in game performance.

cpu2.png



I only changed these items:

1) Right-click tray icon speaker, click Sounds. Click the Playback tab. Select (click) your speakers active for audio, then click the Properties button. Click the Advanced tab. Changed the Default format to CD Quality (16 bit, 44100 Hz). Disable audio enhancements. Click OK.
2) Click the Communications tab. Select Do Nothing. Click OK.
3) Reboot

As I said, for months in the original configuration I posted, got crap CPU usage, no matter how I tuned MQ2FPS and/or MQ2EQWire. I also tried the bitvise software, tried different CPU affinity configurations. Only when I debugged/profiled down to driver level and found MOST of the muscle was happening in the audio driver (and windows audio), did I go after that. With just a few basic changes, made a huge difference. The system is always responsive now, and I have all 18 botting in the background as I write this up, and notice no system hit like I would before when doing anything else.

Anyway, just sharing some info in case it helps anyone else. I have no idea if it'll make any difference for you, but it sure did for me.

htw
 
  • Like
Reactions: PeteyPablo
Interesting. Out of curiosity, do you have nosound.txt in your EQ directory to eliminate in game sound? I am just getting back in and loving getting back to boxing on the emulator servers and am probably planning on ramping up the number of toons I'm running, so I'll keep this in the back of my mind if I run into performance issues.
 
Interesting. Out of curiosity, do you have nosound.txt in your EQ directory to eliminate in game sound? I am just getting back in and loving getting back to boxing on the emulator servers and am probably planning on ramping up the number of toons I'm running, so I'll keep this in the back of my mind if I run into performance issues.

No, I've always liked playing with sound effects, esp. with background toons running. I set music volume to 0, and disable combat music, but otherwise use sound on all 18.

htw
 
ya you should not of been using anywhere near 70% with just 18 on that CPU. I've done 42 on Ryzen 2800 that's only 8 cores.
 
Yeah, I kept digging at it because it was pissing me off lol. :)

After 7 groups on the 2800 i start to notice the system is less responsive even though the CPU is almost never above 50%. I use input director to emulate the mouse/keyboard over networked PCs and the mouse lags a little I don't notice any lag in game however.
 
That's pretty cool, I never tried input director. Right now, for additional groups, I have them running on an oldass 9900X PC, with a RTX 480 video. I just use a TESmart KVM 4:4:4 4k when I want to take a look at what they're up to.
 
Isn't there a mq2cpu plugin that does this?
 
Isn't there a mq2cpu plugin that does this?

If you are talking about MQ2CpuLoad - answer is NO.

MQ2CpuLoad is a load balancer for EQ. It was built for Win7. Win10 with modern CPU's do a much better job moving EQ clients around now and generally MQ2CPULoad is no longer needed.
 
@htw Should have bought an AMD :p (you used to work for Intel correct? or am I confusing Intel with Microsoft?)

Talking about Intel, stock went up!(y)
 
LOL yeah. I still work for the man! Stock is great, I bought a bunch of AMD last year. :)

htw