当我尝试在 ImageView 中渲染位图时
mImageView.setImageBitmap(mBitmap);
我会看到位图太大而无法上传到日志中的纹理中。
好的,我知道 OpenGl 会引发此警告消息的限制。
但是我能知道图像渲染成功与否吗?
最佳答案
您应该通过获取 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 支持。
关于android - 位图太大,无法上传到纹理中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13180382/