0

我花了几十个小时在 Google 上搜索并在论坛上提问,试图弄清楚我在 Android 上的 OpenGL ES 2.0 应用程序是否由于我端的错误、我的设备上的病毒、Android 上的 OpenGL 实现或三星 Galaxy Express 上的 OpenGL 实现。

我什么也没找到,如果有人想尝试回答这个根本问题,我将不胜感激,但我的问题是我是否应该恢复到 OpenGL ES 1.0 以及其他人是否都在使用它。

完全相同的应用程序(单个旋转三角形)使用完全相同的时间步长,唯一的区别是准系统 OpenGL ES 1.0 与 OpenGL ES 2.0 的变化导致 2.0 应用程序中的卡顿和 1.0 应用程序中的平滑动画。

其他游戏只用1.0吗?如果他们使用 2.0,您能否指出一个已知不会导致明显口吃的示例,我可以下载并在我的设备上进行测试?我已经从 Google 自己下载了 OpenGL ES 2.0 示例,同样的口吃。

三星 Galaxy Express 是否不能优雅地处理 OpenGL ES 2.0?有没有什么方法可以在不偷窃或询问随机陌生人的情况下获得另一台 Android 设备,我没钱。

谢谢你。

4

3 回答 3

0

事情是 OpenGL(不仅仅是 ES )是一个规范,实现的另一部分不受任何人的控制,在一定程度上受规范的影响,这意味着实现可能会有很大的不同,尽管它们不应该有很大的不同。这是因为 OpenGL 使用客户端驱动程序来处理命令并且这些命令是由 GPU 创建者(通常)编写的。对于 PC,您可以轻松命名所有著名的 GPU 制造商、nVidia 和 ATI,这样您至少可以知道会发生什么。

对于手机来说,有很多 GPU/CPU 组合,所以更多的错误是由于初始设计的错误或错误而被发现的,而不仅仅是 GPU 的驱动程序,因为手机的创建者也可能对系统进行更改或使用低速/梯度部件这将导致性能不佳。

OpenGL ES 1.0 我想说自 2.0 以来更常见,主要是因为它向后兼容,所以支持 2.0 的设备肯定也支持 1.0。对于开发,您可以通过制作框架并在 PC 上使用模拟器 (OpenGL ES) 来跳过整个“在手机上构建”的事情,完成后只需将 OpenGL 代码复制到手机应用程序中即可。

由于制造商试图保持低成本,他们往往会谎报他们实际所做的或支持,因此 ES 1.0 比 2.0 更简单和硬连线,延迟可能是由于对 OpenGL 的支持不佳。

于 2013-11-03T22:32:04.847 回答
0

根据最新的Android Platform Dashboards,Open GL 2.0 占过去 7 天访问 Play 商店的设备的 98.3%,使其成为游戏开发的标准。

于 2013-11-03T22:44:52.200 回答
0

我注意到很多人似乎对三星 Android 设备的 OpenGL ES 驱动程序有问题。您应该尝试其他具有不同图形核心的设备。

自 Ice Cream Sandwich 以来,Android 平台本身大多使用 OpenGL ES 2.0,包括主要组件,如 SurfaceFlinger。它不再是可选的。看看这篇文章。

于 2013-11-04T15:37:34.570 回答