Steam.exe 100% cpu on one core in internet multiplayer games

Snorren

Chieftain
Joined
Mar 6, 2011
Messages
2
When I start an internet multiplayer game in civ 5, as soon as I enter the staging room steam.exe will use 100% cpu on one core and will stay that way for the whole session. Is this really the way it should be? This is true on both the host and the client side.

I have only tested on two systems but it's the same on both so my guess is that all civ 5 internet multiplayer games is suffering this.

Tested on:
Win7 x64 sp1, i7 920, 12GB, AMD 6950 with 2GB, Catalyst 11.2.
and on:
Vista 32 bit, Core 2 duo E8400, 4 GB and nvidia 8800 card.

Has any one else seen this and can confirm?
 
I have a system similar to your first one but with a nVidia GTS 360M, and I am not seeing what you are, my core i7 920 core 1 settles out at around 70-80% in the staging room.

Looking at task manager both Civ.exe and Steam.exe are drawing about 10% of overall CPU usage. When I exit the staging room CPU usage drops off and Civ.exe uses 1-2% and Steam.exe nothing measurable. So I would say that Steam is the culprit when you are in the staging room it is handling matchmaking and connecting to the steam matchmaking servers, for some reason it is doing some moderate CPU centric calculations to do so. And it seems they are both single threaded tasks which is why the Core 1 is taking all the work. Why would be a question for steam support probably.

CS
 
Hi I turned off the overlay and also I tried it while offline in the friends list. Same result.

"Steam cloud" - disabled.
"Enable Steam Community In-Game" - disabled

I believe that civ is polling the sh.t out of steam.exe.

In TCPView I can't see that Civ is claiming any tcp or udp ports so I guess that civ is using some fuction in steam.exe to do the networking and that it's the networking part that is poorly written, civ constantly polling steam for data instead of waiting for some new data or something like that.

I don't think this is a steam.exe problem but rather that civ should be able to get its networking data from steam without constantly polling or whatever is going on. Someone at Firaxis should call someone at steam/valve and check how this should be done without using almost two cores of cpu power...

Looking at steam.exe in process explorer the thread that is using all the cpu cycles is in "tier0_s.dll" located in the steam dir. Civ is @ something called GetTempHeap.

I/O Bytes for Civ is about 3.2MB when in the staging room, and it's about the same for steam.exe ~3.1MB or so.
 
Yes you are probably right about Civ causing the steam.exe to draw alot of resources, steamworks is used by many other steam games for matchmaking and with alot better MP systems than Civ5 has right now. And given that Firaxis is still looking for a MP Engineer I would speculate that who ever coded the current MP system was operating out of his comfort zone, and that the game code that interfaces with Steam is the weak link.

CS
 
Back
Top Bottom