Jump to content
  • Advertisement
Sign in to follow this  
rAm_y_

Developing for a range of phones/OS's/Mods (Android)

This topic is 1505 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

So there are many phones, a few mod such as CyanGenMod and plenty of OS versions, what challenges is a developer likely to have here? Are you going to have to test on every version, or are there general rules as to compatability issues?

Share this post


Link to post
Share on other sites
Advertisement


Are you going to have to test on every version, or are there general rules as to compatability issues?

 

There are variations in hardware and OS versions, but it isn't that bad.  Relative to PC development, the fracturing is quite small. 

 

Just like on the PC, the development group needs to acquire a few different boxes that represent a few of the common values and one or two extremes, and test on them.  Test on fast devices, mid-range devices, slow devices, high-dpi devices, low-dpi devices, various brands.  Really you only need 5-10 Android devices to cover the broad range. If you're just an individual rather than a big company, it shouldn't be hard for you to find 2-3 phones and a tablet or two to test on.

 

Invariably there will be some bugs on less-common hardware/software combinations, but those can typically be addressed individually when they come up. 

Share this post


Link to post
Share on other sites

In contrast with the above, I would say the Android scene is terrible.
At tri-Ace 2 GPU types kept popping up in any discussion about functionality on Android: Adreno and Mali.
Examples:
#1: Arrays of samplers not supported.
#2: Arrays of samplers supported but cannot be accessed dynamically.
#3: ::glGetActiveUniform() returns inconsistent names, especially related to arrays. For example, it should return mTexMatrices[0], but only on some devices it returns mTexMatrices.  A few other problems in other cases on some devices.

 

 

There are a few other headaches Adreno and Mali cause related to them simply not conforming to the OpenGL standard.  You can write perfectly standard-compliant OpenGL code and there is no guarantee it will work as expected on those and possibly some other devices.  Some devices cause more headaches than you would get on PC even though they share the problem of having different capabilities.  These days you can assume shadow mapping will work on all PC’s, but you cannot assume so on all Android devices, for example.  You will have to write tons of fallback code to handle cases that would be considered fallback-obsolete on any other device.

 

As far as Android goes, you need those devices for testing purposes at the very least.  Then any other device to test “real” functionality.

 

 

L. Spiro

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!