【问题标题】:How to debug OPENGL ES 2.0 error on Nexus 4 without having the device?如何在没有设备的情况下在 Nexus 4 上调试 OPENGL ES 2.0 错误?
【发布时间】:2013-01-31 13:10:28
【问题描述】:

我有一个带有一堆照片滤镜的安卓应用。过滤器是用 OpenGL ES 2.0 实现的,所以当我想保存最终图像时,我会调用 glReadPixels。它适用于我测试过的每台设备,但它似乎不适用于 Nexus 4。用户报告说他们可以应用过滤器,但是当他们保存最终图像时,他们在设备上找不到它。我想知道是否有任何方法可以模拟 nexus 4 并在模拟器上测试我的应用程序?我已经在模拟器上进行了测试,它运行良好也很高兴知道是否有人对 Nexus 4 有类似的问题。

我的 glReadPixels 调用。

GLES20.glReadPixels(0, 0, saveWidth, saveHeight, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, mPixels);

【问题讨论】:

  • 您将文件保存在哪里?您是否在其他 JB 4.2 设备上测试过它? SD 卡布局从 4.1 更改为 4.2。

标签: android opengl-es-2.0 nexus-4


【解决方案1】:

添加额外的日志记录并让一些测试用户向您发送输出;这可以帮助您缩小具体问题的范围,无论是 glReadPixels 还是文件保存。特别是,使用 glGetError() 并记录其值,并在文件 I/O 周围添加 try/catch 块:

try {
    .... file ops
} catch (Exception e) {
    e.printStackTrace();
}

【讨论】:

  • 您还可以使用 ACRA(acra - 适用于 Android 的应用程序崩溃报告 - Google 项目托管)之类的工具来帮助您的用户以您的方式发送这些信息。
猜你喜欢
  • 1970-01-01
  • 2012-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多