我目前手中没有很多Android物理设备,我想知道,例如,如果模拟的Nexus 4没有渲染OpenGL ES 2.0图像,则意味着物理Nexus 4不会渲染那个图像。
我目前有一个应用程序可以在我自己的物理设备和一个Genymotion模拟器上运行,但不适用于Xamarin Android Player模拟器和另一个Genymotion模拟器。所以这是非常50 / 50.我开始担心我的应用程序是否崩溃,或者模拟器通常是否与OpenGL ES 2.0有关。
模拟器OpenGL ES 2.0行为是否代表物理设备的行为?
答案 0 :(得分:2)
仿真器往往具有令人难以置信的延迟性,显然无法在物理设备中显示应用程序的真实体验。对于图形繁重的应用程序尤其如此,例如我使用OpenGL ES 2.0编程的应用程序。
我不知道你是否已经,但你应该看看硬件加速。我会建议查看this thread并尝试在其他任何事情之前加速您的模拟器。
如果这不起作用,它仍然完全可能是模拟器的错误,而不是你的代码。我假设您的应用程序始终按某些模拟器的方式工作,但不会一直或某些时间用于其他模拟器。如果是这种情况,则更有可能是您的模拟器出现问题,并且真正检查您的应用程序(如果硬件加速不起作用)的唯一方法是使用物理设备。
附加说明:当我再次阅读您的问题时,当您说特定模拟器没有渲染图像时,可能是您为模拟器设置了错误的API并且模拟器不支持OpenGL ES 2.0 。这可能不太可能,因为API级别支持OpenGL-es-2.0> 8. Nexus 4远远超出了这个水平。