Denne tråd er blevet låst
OnO 7. jan. 2014 kl. 8:02
Detach Steam Client UI from Steam DRM service/daemon
Dear Valve,

I am suggesting you to detach a service/daemon needed to provide DRM API for Steam enabled games from Steam UI, so one can run Steam game w/o Steam client running, which will save RAM & CPU resources. WDYT?

Steam then could then provide option to quit when game is running, and such service may be kept alive as long as some game is using it or Steam client is on.

I have seen numerous threads with users complaining about memory and CPU usage during gameplay, this could be straightforward solution. Also it would be possible (theoretically) to run command line servers such way on Linux for example.
< >
Viser 1-15 af 15 kommentarer
Satoru 7. jan. 2014 kl. 8:17 
Oprindeligt skrevet af OnO:
I am suggesting you to detach a service/daemon needed to provide DRM API for Steam enabled games from Steam UI, so one can run Steam game w/o Steam client running, which will save RAM & CPU resources. WDYT?

You can already run a wide range of agmes on Steam without the Steam client.

http://steam.wikia.com/wiki/List_of_DRM-free_games

Steam then could then provide option to quit when game is running, and such service may be kept alive as long as some game is using it or Steam client is on.

The only way to do that is if a game were to rip out all the Steamworks sub-systems. So sure you can have a game work without Steam as long as you don't want achievements, matchmaking, card drops, etc.

I have seen numerous threads with users complaining about memory and CPU usage during gameplay, this could be straightforward solution. Also it would be possible (theoretically) to run command line servers such way on Linux for example.

Steam doesn't take up any memory or CPU at all. If you miniize the client it takes up less than 25MB.
OnO 7. jan. 2014 kl. 8:23 
Alright, I should state it from very beginning that I am running on Mac, and Steam takes ~200MB and minimizing it doesn't help also it constrantly takes CPU even I am not doing anything which just drains out the battery.

If it was taking 20MB and no CPU on Mac I would happily run it all over the time, but it's not :(
Satoru 7. jan. 2014 kl. 8:42 
Unless you're on a store page where the client is constantly refreshing the screenshots it shouldnt be sucking up CPU. Navigate to your library or something and CPU utliization should drop.

Also note that 'memory usage' is a very very ephemerial thing. Let the OS do it's job. It's better than you at managing memory. And Unix especially always allocates ALL memory away so it's not suprising that Steam is getting 200MB 'just because'. Your system always has 0 MB of memory free. That's by design.
Sidst redigeret af Satoru; 7. jan. 2014 kl. 8:43
ReBoot 7. jan. 2014 kl. 9:08 
Oprindeligt skrevet af OnO:
I am suggesting you to detach a service/daemon needed to provide DRM API for Steam enabled games from Steam UI, so one can run Steam game w/o Steam client running, which will save RAM & CPU resources. WDYT?
You're sure the UI uses that many resources? Especially while you're running a game and Steam is invisible.
OnO 7. jan. 2014 kl. 11:53 
@Satory This is not OS fault, it is Steam keeping 150MB all the time, regardless of minimal UI.

@ReBoot Yes I am sure. I have run it through Instruments, here is what I got:

http://i39.tinypic.com/2qbd5rq.png

No matter what is has 150MB allocated. Also it is constantly utilizing 2-3% CPU.
Satoru 7. jan. 2014 kl. 18:48 
Oprindeligt skrevet af OnO:
@Satory This is not OS fault, it is Steam keeping 150MB all the time, regardless of minimal UI.

Again Steam is a BROWSER built on top of an application. And yes that takes up memory. Unless you're running on 1GB of system memory it's not something to worry about. When Steam takes up 1GB of memory then you can complain about 'problems'. You're not running XP for god sakes. Stop worrying about memory usage unless you're actually running out of memory.

No matter what is has 150MB allocated. Also it is constantly utilizing 2-3% CPU.
[/quote]

Change your default view to the Library, the 2-3% is liekly cus it's cyclicng the UI in the Store interface
Sidst redigeret af Satoru; 7. jan. 2014 kl. 18:49
Tsujigiri 8. jan. 2014 kl. 2:57 
I have LXDE as desktop on Ubuntu for the sake of Memory consumption (200Mo RAM Used on the desktop upon Login).
Even with 4GB of memory i had to do that in order to have Dota2 not swapping ingame (Ingame Top says i use 3.97GB of RAM).
The Extra 200MB of free memory that could be achieved are not to be minimized, even on maxed out configurations.
OnO 8. jan. 2014 kl. 3:00 
Oprindeligt skrevet af Satoru:
Again Steam is a BROWSER built on top of an application. And yes that takes up memory.

12GB here on iMac and 8GB on MBP, so memory is not a concern, my concern is bad design of the app. I am running many other apps such as IM clients, mail clients, and if I let each of these app take unreasonable amount of memory regardless of what their do I'd run out of my 12GB soon :> Also I wish to have as much of memory for app that I use i.e. Photoshop or Mathematica, so I am not happy other app is consuming my memory w/o good purpose.

Oprindeligt skrevet af Satoru:
Change your default view to the Library, the 2-3% is liekly cus it's cyclicng the UI in the Store interface

It does take 2-3% in Library, even it is minimized, it seems there's loop that is running all the time regardless is Steam app has focus or not. C'mon this is not a GAME, we don't need constant UI update, and anyway there're no animations or whatsoever.
aiusepsi 8. jan. 2014 kl. 4:45 
Steam does seem to use a weirdly large amount of CPU on Mac when idle, so I'm profiling it in Instruments to see where the time is going.

While a Steam window is on screen, it spends a truly shocking amount of time in the VGUI code just repainting itself, over and over and over, even when the window isn't changing or being interacted with at all. That's really bad. It really shouldn't be doing that.

The next worst thing is a call to poll() in CSocketThread::CSocketRunThread::Run() inside steamclient.dylib, which (if my Assembly holds up) is indeed called in a loop. It seems that they're doing that to check if there's anything to read on the socket. That's a really not good way to implement networking. You should ask the OS to put you to sleep, and only wake you up when there's data ready and waiting for you. Although, that said, I'm not an expert on implementing such things, so they may be doing the right thing already.

It's very possible that the problem is they've got the time-out on the poll() set far too short, in which case poll() will get called really frequently and you get hurt by continually jumping into and out of the kernel. Hard to tell, but that's my suspicion.

The next few hottest things all seem to be the fault of steamclient too. The bad news is: all the stuff that's in steamclient (.dylib on Mac, .dll on Windows) is the code that would end up in your DRM daemon. Creating such a DRM daemon would mostly just be a case of hosting the steamclient.dll/dylib in another process from the SteamUI. That's how Steamworks works, the game process hosts a copy of the steamclient library which it interacts with, and then the game's instance of steamclient communicates back to the main Steam process over IPC.

In a 6 minute 44 second run (i.e. 404000 ms) there was 11592 ms spent on the UI, and 5054 ms spent on the stuff that would end up in the DRM daemon. The UI stuff shrinks to less than half of the DRM daemon stuff if you close all open Steam windows.

Generally, it looks like the problem is that most apps sit and do nothing if they're not being interacted with, either by the user or by external IO. They put themselves to sleep, and are woken when something happens. Steam sits and does work by itself for no good reason at all, all the time, pointlessly.
Sidst redigeret af aiusepsi; 8. jan. 2014 kl. 6:37
ReBoot 8. jan. 2014 kl. 8:03 
Is that specific to MacOS? On Windows, I can't get Steam to use notable CPU time while idling.
Doesn't MacOS have this app nap feature to stop idling apps from eating ressources?
Sidst redigeret af ReBoot; 8. jan. 2014 kl. 8:03
aiusepsi 8. jan. 2014 kl. 9:20 
Yeh, in my experience the Mac OS version does use significantly more CPU. Bad port, I think, they haven't got it tuned properly for the different APIs.

And yeh, App Nap in Mavericks really helps when it kicks in. It makes it less worrying to leave Steam running on an unplugged laptop. That said, Steam still causes a disproportionate number of idle wake-ups compared to everything else on the system, and you do have to be zealous about closing all Steam windows to make sure App Nap kicks in.
Oprindeligt skrevet af OnO:
Dear Valve,

I am suggesting you to detach a service/daemon needed to provide DRM API for Steam enabled games from Steam UI, so one can run Steam game w/o Steam client running, which will save RAM & CPU resources. WDYT?

Steam then could then provide option to quit when game is running, and such service may be kept alive as long as some game is using it or Steam client is on.

I have seen numerous threads with users complaining about memory and CPU usage during gameplay, this could be straightforward solution. Also it would be possible (theoretically) to run command line servers such way on Linux for example.
It'd also eliminate the need to tie authentication verification to Google Chromium version... so that you can keep playing your purchases on older versions of Windows/MacOS/Linux that Chromium doesn't support.
Sidst redigeret af Nicholas Steel; 1. dec. kl. 22:23
Oprindeligt skrevet af Satoru:
Steam doesn't take up any memory or CPU at all. If you miniize the client it takes up less than 25MB.
Currently with Steam minimized after using it for a while, it's consuming 500 - 900MB of RAM (Private Working Set, can't be paged out) and 166MB of VRAM.

I'm however talking about Steam on Windows 10.
Sidst redigeret af Nicholas Steel; 1. dec. kl. 22:22
Zefar 1. dec. kl. 23:01 
Oprindeligt skrevet af Nicholas Steel:
Oprindeligt skrevet af Satoru:
Steam doesn't take up any memory or CPU at all. If you miniize the client it takes up less than 25MB.
Currently with Steam minimized after using it for a while, it's consuming 500 - 900MB of RAM (Private Working Set, can't be paged out) and 166MB of VRAM.

I'm however talking about Steam on Windows 10.

Because that person is using an client that is 11 years old. Much like this topic. Times have changed.
Steven 1. dec. kl. 23:46 
This thread was quite old before the recent post, so we're locking it to prevent confusion.
< >
Viser 1-15 af 15 kommentarer
Per side: 1530 50