i'm developing an android 3d game
the game can run better on a high devices capability
but still i can boost up the game by reducing textures or by customize the frame rate of the game or also increase the time for custom thread to sleep etc.
but i need to do that according to the device
i mean the best practice to do so
i'v thinking in do something like this
int count = Runtime.getRuntime().availableProcessors();
if(count < 4){
//// load low textures and decrease frame rate and so on
}else{
//// load high textures and increase frame rate and so on
}
but i know that it isn't a reliable or a good solution
I think that solely using the amount of processors won't be a reliable method. So much is governed by the capabilities of the GPU. I see two options;
Preconfigure a number of profiles and let the user try them using a menu. Some people will prefer slower performance in favor of better graphics, and vice versa. Who are we, as developers, to decide which is preferable?
Load something (a small scene), run it for a short while with unbound framerate. Measure the performance (
tpffor example) and decide the capabilities based on that.