位图太大,无法上传到纹理中

时间:2012-11-01 15:33:40

标签: android opengl-es bitmap imageview

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

mImageView.setImageBitmap(mBitmap);

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

好的,我知道OpenGl有限制会抛出此警告信息 但我能否知道图像是否成功?

2 个答案:

答案 0 :(得分: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支持。

答案 1 :(得分:0)

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