View Issue Details

IDProjectCategoryLast Update
0016517Stars Beyond ReachBug - OtherJun 24, 2015 1:53 pm
Reporterjerith Assigned ToChris_McElligottPark  
Severityminor 
Status resolvedResolutionfixed 
Product Version0.811 (First Orangeshirts Release) 
Fixed in Version0.898 (Beauty and the Bugs) 
Summary0016517: High CPU usage when idle
DescriptionSBR uses a lot of CPU (70%+) on my machine (MacBook Air running Mountain Lion) when idle. This always happens in windowed mode (even if I'm not looking at the workspace the game is on) but in fullscreen mode it only happens when I'm looking at the game's workspace.

My guess is that it's something related to rendering. CPU usage goes down a bit if I make the window smaller (75% at 1366x768 vs 85% at 1600x900), but is higher if I'm looking at the menu rather than the game interface.
TagsNo tags attached.

Activities

Chris_McElligottPark

May 5, 2015 8:28 am

administrator   ~0040481

Yep, that's common for a lot of games, but in particular with graphically-intensive ones. Since the render thread doesn't stop, and since we don't know if the game is out of focus or not, it keeps going.

Actually there is a function in unity 3D that lets us have the engine shut everything off when it doesn't have focus, and we've got it doing that when in fullscreen mode but not windowed mode right now. Is that something you'd want an option to turn on in windowed mode?

ptarth

May 5, 2015 10:01 am

reporter   ~0040483

Something is putting out a lot more heat since .810. My laptop fan is running on high even with me just tabbing out to complain about interfaces issues and not actually playing for the last 15 minutes.

Chris_McElligottPark

May 5, 2015 10:09 am

administrator   ~0040485

@ptarth: Are you on the new .812, or still on .811? There was a texture compression (lack thereof) issue in .811.

The game now uses VASTLY fewer textures, and thus fewer draw calls, but the textures are now on average something like 1600x1600px in size rather than 256x256 or 64x64 or whatever. The difference is that where there previously were something like 800 textures, there are now 20 in their place.

ptarth

May 5, 2015 10:10 am

reporter   ~0040486

I couldn't even play .811, so I'm on .812 now.

Chris_McElligottPark

May 5, 2015 10:16 am

administrator   ~0040487

Right, got it. Are you in fullscreen mode and it's running your laptop fan on high? In windowed mode it wouldn't make any difference in being focused or not, because it's doing the same work either way.

With the new version I'm not surprised it's using your GPU more on your particular laptop. It's going to be stressing it out more with the larger textures, but it's actually a load that your GPU can handle versus being something where it's getting clogged up in the pipes even leading to your GPU.

Frankly the fact that your GPU was NOT spinning all the way up previously was a really bad sign: that was meaning that despite being intensive in what it wanted to draw, the GPU was not being sent information at a fast enough rate that it felt it needed to even both spinning up fully. Now the throughput problem is fixed, so your GPU goes "oh, I actually have some work to do, let's get to it!"

When a game is running laggy but your GPU fan isn't running heavy, then you know you have a pipeline problem (or a CPU lag issue, or both). You're at the bottom end of the spectrum on the specs, so in pursuit of getting the game running better (and not ever having the crashes) on machines like yours, it's going to by nature make more use of your GPU more of the time.

ptarth

May 5, 2015 10:33 am

reporter   ~0040488

Fullscreen and fan on high: check
GPU Status: It's gone up to 100% usage in full screen. I'm not sure what it capped out at in .810 and earlier versions.
Frame Rate: No change from .810.
Performance: Bah, Prior to this new fangled .811 we managed just fine. ;)

Chris_McElligottPark

May 5, 2015 10:49 am

administrator   ~0040489

Yep, got it. Well, previously it was being artificially limited based on the pipeline between your RAM/CPU and your GPU. Now it doesn't have that artificial limitation. That limitation previously was based around different machines having different amounts of throughput, so it would be a different amount of limitation per machine. Very very bad.

It would also get increasingly laggy depending on how many different kinds of textures needed to be drawn before.

ptarth

May 5, 2015 11:30 am

reporter   ~0040490

Last edited: May 5, 2015 11:30 am

Sorry, I was unclear. I found your previous explanation enlightening and understandable. I was just providing additional information to confirm your analysis.

Chris_McElligottPark

May 5, 2015 11:40 am

administrator   ~0040492

Oh, okay -- I wasn't sure how seriously to take your last line, despite the winky emoticon. :)

jerith

May 5, 2015 12:33 pm

reporter   ~0040496

CPU usage seems to be more consistent with 0.812 than 0.811, although that could be because the national power utility took away my external display for two hours (yay rolling blackouts) and it's only rendering the smaller screen area. I think fullscreen CPU usage has decreased. It certainly seems lower than windowed mode for the same resolution, but without my external display it's not a direct comparison.

A "suspend when not focused" option would be great (if it can be made to work properly) and not just for this. The game currently tracks my mouse position when I'm doing other things and moves my viewport hundreds of miles across the world, which is annoying.

Chris_McElligottPark

Jun 15, 2015 2:00 pm

administrator   ~0042221

We wound up turning this off even for fullscreen mode, because it causes all sorts of errors. Sorry!

Chris_McElligottPark

Jun 24, 2015 1:53 pm

administrator   ~0042445

Surprise! :D

* The game is now able to run at a vastly lowered CPU usage when it's not the active window, thanks to our new ability to detect whether or not the window is active.

Issue History

Date Modified Username Field Change
May 5, 2015 3:46 am jerith New Issue
May 5, 2015 8:28 am Chris_McElligottPark Note Added: 0040481
May 5, 2015 8:28 am Chris_McElligottPark Assigned To => Chris_McElligottPark
May 5, 2015 8:28 am Chris_McElligottPark Status new => feedback
May 5, 2015 10:01 am ptarth Note Added: 0040483
May 5, 2015 10:09 am Chris_McElligottPark Note Added: 0040485
May 5, 2015 10:10 am ptarth Note Added: 0040486
May 5, 2015 10:16 am Chris_McElligottPark Note Added: 0040487
May 5, 2015 10:33 am ptarth Note Added: 0040488
May 5, 2015 10:49 am Chris_McElligottPark Note Added: 0040489
May 5, 2015 11:30 am ptarth Note Added: 0040490
May 5, 2015 11:30 am ptarth Note Edited: 0040490
May 5, 2015 11:40 am Chris_McElligottPark Note Added: 0040492
May 5, 2015 12:33 pm jerith Note Added: 0040496
May 5, 2015 12:33 pm jerith Status feedback => assigned
Jun 15, 2015 2:00 pm Chris_McElligottPark Note Added: 0042221
Jun 15, 2015 2:00 pm Chris_McElligottPark Status assigned => closed
Jun 15, 2015 2:00 pm Chris_McElligottPark Resolution open => not fixable
Jun 24, 2015 1:53 pm Chris_McElligottPark Note Added: 0042445
Jun 24, 2015 1:53 pm Chris_McElligottPark Status closed => resolved
Jun 24, 2015 1:53 pm Chris_McElligottPark Resolution not fixable => fixed
Jun 24, 2015 1:53 pm Chris_McElligottPark Fixed in Version => 0.898 (Beauty and the Bugs)