As a PC gamer in 2016, you probably have at least a couple of game clients running in the background on your system all or most of the time. Steam is the most well-known, but several of Valve’s competitors have decided they don’t play well with others and require separate clients for their games. Today I’ll be looking at the impact of five total pieces of software: Valve’s ubiquitous Steam, EA’s Origin (notably required for Bioware RPGs, Battlefield, and EA Sports titles like FIFA), Ubisoft’s Uplay (notably required for Assassin’s Creed, Far Cry, Rainbow 6: Siege, and The Division), Blizzard’s Battle.net (technically only required for Hearthstone, but anyone who plays World of Warcraft, StarCraft II, Diablo III, Heroes of the Storm, or Overwatch almost certainly launches them through Battle.net), and Riot’s League of Legends launcher (required for SimCity 3000, obviously).
Here’s a screenshot of task manager for 60 seconds of just those five applications (and core Windows services) running, all minimized:
The CPU usage is constantly about 4-6% at around 3-3.4 GHz. That doesn’t seem like much until I tell you it sits at a constant 0-1% under 2 GHz with none of the above clients running. Clearly there’s a meaningful if not drastic impact to running all of this software, but is it one bad actor or is there plenty of blame to spread around? The answer, as it so often does, turns out to be “both.”
The Capital Offender: League of Legends
It turns out that the client used to launch the fewest games (a whopping one) is also the most ill-behaved. League’s client doesn’t even have an option to minimize to the system tray, eating a spot on your taskbar at all times and also failing to respect the rules for minimized applications appearing in Windows 10’s task switcher. League’s client starts out strong in the wastefulness wars by launching an amazing six processes – at first you may only see four, but the two “QtWebEngineProcess.exe” processes belong to Riot’s launcher as well – and eating up more than a third of a GB of RAM in the process.
League of Legends’ launcher also routinely posts the highest CPU usage of the five and is one of only two to drive the GPU out of its idle state even while minimized. One may argue that since this client is only used when launching this one game, you could circumvent its misbehavior by only launching it when you want to play League. That’s a very valid approach (and the one I use), but there’s an extra niggle here: Riot has also made the only client of the five that lacks any option to keep you logged in, requiring you to type in your password (or copy it from your password safe) every single time you launch the program. So they have created a client that you are strongly discouraged from ever closing, but that also almost certainly will interfere with the performance of your other applications if you don’t. Maybe that’s why so many LoL players don’t regularly play any other games? The travesty here is that League has some of the lowest system requirements of any popular AAA game, yet they could probably be even a little lower if its launcher wasn’t actively sabotaging system performance.
Life in Prison: Battle.net
Blizzard’s launcher was actually the catalyst for this investigation, because it’s pretty well documented to be a resource hog. To be sure, were it not for Riot’s resource-guzzling monstrosity, Battle.net would win the award for ‘worst game launcher to leave running in the background.’ It spawns four processes that use a combined total of about 200-230 MB of RAM (one of the Battle.net Helper.exe tasks fluctuates a bit depending on what content is being shown for the game you have selected – yes, even when the client is minimized to the system tray) and routinely pegs the CPU to about 2-3%. Battle.net also joins the League client in keeping my GPU out of its lowest possible idle state even when minimized, though in both cases only by occasional peaks to 1-2% GPU usage. Actually, this is all an improvement from just a couple of months ago, when Battle.net could keep my CPU pegged at about 4% and caused regular ~5% GPU usage spikes. Blizzard have said they’re aware of the issues and looking to keep improving them, but frankly I think most users would have preferred the performance implications addressed before Facebook Live streaming was added. Has anyone ever intentionally used that feature? Fortunately you can simply quit Battle.net when you aren’t using it, as it both loads and closes reasonably quickly while having an option to log in automatically on a trusted computer. One oddity in that regard though: new installations on Windows 10 don’t seem to install shortcuts anywhere – neither on the desktop nor in the start menu – so you have to hunt down the program folder and create your own. Weird.
Out on Good Behavior: Steam
Steam has improved greatly in this regard over the years, which is a good thing since Valve’s client is going to be the common thread between virtually all gamers. Steam is nearly synonymous with ‘PC gaming’ these days, and Valve has a vested interest in not drawing negative attention to the software itself that would encourage gamers to stop using it. Valve has actually achieved the lowest memory usage of the five tested clients despite running four processes themselves; at a mere 60-70 MB of RAM while idle, even the most modest gaming PC shouldn’t notice the deficit. CPU usage is also well below the average so far, with a solid 1% usage being the norm for Steam running by itself. Steam doesn’t incur any GPU usage while idle and doesn’t make you type in your password every time you log into it from the same computer. The one downside, however, is that Steam takes the longest of any of the clients to launch and log in, and is the only one to have a significant delay on being manually closed.
(Surprisingly) Not Guilty: Origin and Uplay
I doubt many people would have expected the two most-maligned clients to put in the best showing here, but at least when it comes to resource usage, Uplay and Origin are in a class of their own. Both run only two processes and clock in around 100 MB of RAM usage while idle. Neither incurs any GPU usage while idle, like Steam, but unlike Steam, they don’t seem to occupy any CPU time while idle either. That’s right: during long-idle scenarios, I couldn’t measure any difference in CPU usage or average power state with Uplay and Origin running versus both closed. Both apps appear to be model citizens for resident processes, with one exception: having Origin running when you shut down your system causes Windows to pop up a dialog for complaining that Origin doesn’t want to stop. I’ve never seen any negative impact to just clicking “Shut down anyway,” but if you ignore the warning it will disappear in a couple of seconds. Uplay’s biggest issue is likely that it rivals Steam for slow startup, but it shuts down instantly when requested. Fun fact: the combined resource usage of Origin, Uplay, and Steam – together representing about 700 games for me – don’t even come close to the resource usage of just Riot’s launcher – for one game, mind you – on my system.
No One is Without Sin
It’s worth noting that every single one of the applications tested above shares one failing: They generate entirely 32-bit processes, and for most people will represent the vast majority of 32-bit processes still running on a modern Windows 10 system. If we can clean up these last vestiges of 90s architecture from our systems, Windows could unload 32-bit frameworks to free up even more system resources (of course, as you may have noticed in the screenshot above, this would require Microsoft update their own OneDrive client as well). Remember as well, I’m only talking about system resource impact while idle here; navigating the stores and game libraries in some of these clients can be a chore due to both poor performance and poor layout choices. Furthermore, not one of these clients makes any effort to look like a native Windows application, though again arguably Uplay (3rd from top) and Origin (last before Explorer window) put in the best showing here:
I won’t pretend that shaming Riot and Blizzard semi-publicly here will encourage them to change anything, but it is pretty striking to me how the two common game clients that are tied to the fewest games are the biggest offenders of eating system resources. Especially given that Blizzard and Riot both pride themselves on targeting lower-end systems with their minimum requirements, it would seem to me that it would be in their interests to rein in the resource usage of their software. Mostly I write this as an interesting (well, to me at least) look at how all those little icons in your system tray are impacting performance, since it’s clear there will only be more of them over time. If we must go down this route, it’s clear that EA and Ubisoft have the right idea as to how – at least when it comes to being a good neighbor to your other software.