0

I don't currently have a lot of Android physical devices under my hands, and I'm wondering, for example, if having an emulated Nexus 4 not rendering an OpenGL ES 2.0 image means that a physical Nexus 4 won't render that image.

I currently have an application that works on my own physical device and on one Genymotion emulator, but not on a Xamarin Android Player emulator and another Genymotion emulator. So this is very 50 / 50. I'm starting to be anxious about if my app is crashy or if emulator just generally are buggy with OpenGL ES 2.0.

Is Emulator OpenGL ES 2.0 behaviour representative of how a physical device will act?

Léon Pelletier
  • 2,701
  • 2
  • 40
  • 67

1 Answers1

2

Emulators tend to be incredibly laggy and obviously do not show the true experience of an app in a physical device. This is especially true for graphic-heavy apps, such as the ones I have programmed using OpenGL ES 2.0.

I don't know if you have already, but you should take a look at hardware acceleration. I would advise looking at this thread and try accelerating your emulators before anything else.

If this doesn't work, its still entirely possible that its the emulator's fault and not your code. I'm making an assumption that your app works as intended for some emulators all the time but doesn't work all the time or some of the time for other emulators. If this is the case, its more likely that your emulators are the problem, and the only way to really check your app (if hardware acceleration doesn't work) is to use the physical device.

Additional note: As I read your question again, when you say that a particular emulator is not rendering an image, its possible that you have the wrong API set for the emulator and the emulator doesn't support OpenGL ES 2.0. That's probably unlikely, since OpenGL-es-2.0 is supported for API Levels > 8. The Nexus 4 is well beyond that level.

Community
  • 1
  • 1
brohan322
  • 358
  • 1
  • 12
  • Yeah. I've seen an app working flawlessly in Genymotion Nexus 4 and not in Xamarin Android Player version of Nexus 4. For the compatibility, I'm set on API 16 at target and min api. Graph acceleration is enabled by default on emulators. I've been lucky with emulator speed until today, but I've seen that for OpenGL, they are slow, indeed. – Léon Pelletier Jul 17 '15 at 15:30