此主题已被锁定
OnO 2014 年 1 月 7 日 上午 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.
< >
正在显示第 1 - 15 条,共 15 条留言
Satoru 2014 年 1 月 7 日 上午 8:17 
引用自 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 2014 年 1 月 7 日 上午 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 2014 年 1 月 7 日 上午 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.
最后由 Satoru 编辑于; 2014 年 1 月 7 日 上午 8:43
ReBoot 2014 年 1 月 7 日 上午 9:08 
引用自 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 2014 年 1 月 7 日 上午 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 2014 年 1 月 7 日 下午 6:48 
引用自 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
最后由 Satoru 编辑于; 2014 年 1 月 7 日 下午 6:49
Tsujigiri 2014 年 1 月 8 日 上午 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 2014 年 1 月 8 日 上午 3:00 
引用自 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.

引用自 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 2014 年 1 月 8 日 上午 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.
最后由 aiusepsi 编辑于; 2014 年 1 月 8 日 上午 6:37
ReBoot 2014 年 1 月 8 日 上午 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?
最后由 ReBoot 编辑于; 2014 年 1 月 8 日 上午 8:03
aiusepsi 2014 年 1 月 8 日 上午 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.
引用自 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.
最后由 Nicholas Steel 编辑于; 7 小时以前
引用自 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.
最后由 Nicholas Steel 编辑于; 7 小时以前
引用自 Nicholas Steel
引用自 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.
This thread was quite old before the recent post, so we're locking it to prevent confusion.
< >
正在显示第 1 - 15 条,共 15 条留言
每页显示数: 1530 50