WCSII - Throttle background EVE clients automatically

tl:dr - limits the CPU usage of EVE clients in the background to stop your CPU setting on fire.

Warp Core Stabilizer II (WCSII) is a little notification tray utility I wrote to help me when running multiple clients. As I often use an ultrabook, it was becoming a problem that when I have multiple EVE clients open they’d use a not insignificant amount of CPU. This would cause heat, and in a small frame like an ultrabook, ultimately throttling. I’d tried ThrottleStop, fancy cooling pads, undervolting, and still couldn’t quite cope with ~4 clients open. When minimized they use a lot less resources, but not quite as few as I’d like, plus often it’s inconvenient to constantly minimize clients instead of alt-tabbing, so I built this utility.

It’s extremely simple and requires no config. Once opened, it’ll add a small icon to your notification area (Please be careful not to option multiple instances, weird stuff could happen). It’ll then monitor for running eve clients (by name, “exefile.exe”), and monitor the process ID of the active window. Any eve client that is not the active window will be forcibly limited to 2% CPU usage via Windows’ JobObject API.

Requirements

  • Windows, ideally 7 or newer. There will never be a Linux/MacOS version due to the way the utility works.
  • .Net Framework 4.0 or higher. You should already have this.

Caveats

  • Closing the utility will immediately close all of your EVE clients, no warning. Be careful!
  • Any crash within the utility will also cause all your EVE clients to suddenly close.
  • When running many clients, you might find 1-2 seconds of lag when swapping to a different client as the CPU limit is released and it comes back up to speed.
  • I literally made this last night and it’s barely tested and probably needs a lot of polish.
  • Use at your own peril.

Todo

  • A nice icon instead of the default .Net. - Done
  • Configurable core assignment for background clients.
  • Configurable CPU limit for background clients.
  • Attempt to improve response time when reactivating a client.
  • A simple ‘homepage’ for the app to keep versions etc. instead of the janky link below.

Current release: https://isk.enterprises/tools/

1 Like

Sounds neat. I’ll try it when I get time this weekend.

Big update, new features, icon, and website :smiley:

Some of the new stuff:

  • Restrict inactive EVE clients to 33% of any processor core. (For example, a hyperthreaded quad core (8 logical cores) would apply a 4% CPU limit).
  • Balance inactive EVE clients across multiple cores (hyperthreading aware) to evenly spread heat generation and avoid many processes clogging up Core 0.