2

当我尝试在 imageview 中渲染位图时

mImageView.setImageBitmap(mBitmap);

我会看到位图太大而无法上传到日志中的纹理中。

好的,我知道 OpenGL 会抛出此警告消息是有限制的。
但是我可以知道图像是否渲染成功吗?

4

2 回答 2

1

您应该通过获取GL_MAX_TEXTURE_SIZE环境值的值来检查最大纹理大小。

您可以在 GLBEnchmark 网站上查看各种 Android 设备的此值:http ://www.glbenchmark.com/phonedetails.jsp?benchmark=glpro25&D=Google+Nexus+S&testgroup=gl

为了减少视频内存占用,您可能需要使用 ETC1 纹理。如果您使用 OpenGL ES 2.0,您可以立即使用它(ETC1 是 GL ES 2.0 规范的一部分),如果您使用 OpenGL 1.1,您应该通过查看 GL 扩展列表来检查 ETC1 支持。

于 2012-11-02T12:35:09.023 回答
0

可能除了非常明显的“它在屏幕上吗?” 回答。只是不要发疯,你应该没事。您可以执行裁剪或调整图像副本等操作以减少 RAM 占用。我从未尝试过使用大图像,但 Android 通常会执行崩溃或减速等操作。

于 2012-11-01T19:02:33.880 回答