Processor count reliability
Asked Answered
Q

2

7

I'm making an Android game and the performance difference between single core phones such as Galaxy S and dual-core Galaxy S2 is comparable to night and day. Thus instead of making different versions for single cores and dual/quad-cores, I thought about using the processor count of the device to turn off and on certain graphical features.

But how reliable is getting the processor count? Do some single core phones have threading like Intel Hyperthreading which shows one core as two? Or are some dual-core phones a lot slower than the Galaxy S2?

Queri answered 10/4, 2013 at 6:50 Comment(9)
Why not just give users an option to disable fancy effects if they feel the game is running too slowly?Overcome
1. As fas as i know there is no chips with Intel's HT-like tech. 2. Yes, some even dual core chips can be really slow.Leonteen
I think some phones also use core parking, basically disabling one of the cores when battery is low or when some other criteria is fulfilled. I've faced a similar problem on laptops where core parking makes core temperature utilities freak out about the missing core.Retrorocket
@Damien Problem with that is, that there is very little time to make an impression on the user(approx. 30secs). So it needs to run as smoothly and as beautifully as possible without user input. Second thing is the user base which is not tech savvy. So even going to the options menu to fiddle with options might be too much.Queri
@Dream707 When you mean slow, do you mean as slow as a single core? Additionally, do you know where I could find benchmarking listings?Queri
@Steven Yes, this can be seen on the Galaxy S2 when it is on power save mode. It does not run at full speed, but it never starts to FPS stutter as it keeps the FPS steadily at 30FPS. Compared to flat 60 without power saving.Queri
@Queri maybe not that slow, but there is a very big differance between various dual core SoCs, so You can't rely on core count, I recommend You to rely on overall performance.Leonteen
Also take into account that most people have multiple apps running in the background that take up cpu processing power (music, facebook etc). So relying on the core count won't always reflect the processing power you will actually get.Retrorocket
This sort of approach really isn't going to work reliably. Just ask the user at startup. [ Good Graphics ] [ Best Graphics ] [ X ] Remember thisNadenenader
M
1

While I recognize your good intentions behind the idea of checking for cores and automatically adjusting settings, so the user doesn't have to adjust settings themselves & to improve performance, it won't work in practice.

This is because there are too many devices and corner cases to cover. For example:

  • Some multi-core devices will have core parking and might not be detected by whatever core detection you use.
  • Some single-core devices may or may not have hyperthreading, but won't display as multiple cores.
  • If the user has their phone on power-save mode, you'll still detect multiple cores, but not recognize that they're running at limited capacity.

I'm sure many other examples exist. The point is, it would probably be a nightmare for you to cover most/all of these cases in order to automatically adjust your app's settings, especially given a relatively simpler solution: ask the user what settings they want at the app's launch, and make it easy to adjust these settings at any time.

Sometimes it's better to just put a burden on the user's lap, especially if it takes little to no effort for them to do it, and proportionally waaay more effort for the developer to do it. Good luck!

Musk answered 29/4, 2013 at 15:54 Comment(0)
P
0

Graphic effects should be drawn by GPU, not CPU.

Progression answered 12/4, 2013 at 10:43 Comment(2)
You can't generally do all the calculations in the GPU though - there will be CPU load too the more you try to do.Incontinent
Some effects are more stress on the CPU rather than the GPU. For example making shadows on a mobile device, the raycasts to determine the shadow place and size are more expensive than drawing the blob itself.Queri

© 2022 - 2024 — McMap. All rights reserved.