模拟器 OpenGL ES 2.0 行为是否代表物理设备的行为方式?

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

我目前没有很多 Android 物理设备,我想知道,例如,如果模拟 Nexus 4 不渲染 OpenGL ES 2.0 图像意味着物理 Nexus 4 不会渲染该图像。

我目前有一个应用程序可以在我自己的物理设备和一个 Genymotion 模拟器上运行,但不能在 Xamarin Android Player 模拟器和另一个 Genymotion 模拟器上运行。所以这是非常 50 / 50。我开始担心我的应用程序是否会崩溃,或者模拟器是否通常在 OpenGL ES 2.0 中有问题。

模拟器 OpenGL ES 2.0 的行为是否代表物理设备的行为方式?

模拟器往往非常缓慢,并且显然无法在物理设备中显示应用程序的真实体验。对于图形密集型应用尤其如此,例如我使用 OpenGL ES 2.0 编写的应用。

不知道你有没有,不过你应该看看硬件加速。我建议先查看 this thread 并尝试加速您的模拟器。

如果这不起作用,仍然完全有可能是模拟器的错误,而不是您的代码。我假设您的应用程序在某些模拟器上始终按预期运行,但在其他模拟器上并非始终或某些时候都正常运行。如果是这种情况,则更有可能是您的模拟器出了问题,真正检查您的应用程序(如果硬件加速不起作用)的唯一方法是使用物理设备。

补充说明:当我再次阅读你的问题时,当你说某个特定的模拟器没有渲染图像时,可能是你为模拟器设置了错误的 API 而模拟器没有支持 OpenGL ES 2.0。这可能不太可能,因为 API 级别 > 8 支持 OpenGL-es-2.0。Nexus 4 远远超出该级别。