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

标签 android opengl-es bitmap imageview

当我尝试在 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/

相关文章:

javascript - Threejs着色器实现

android - 在不加载到内存的情况下获取位图宽度和高度

android - Android Studio 中的位图变大了三倍

java - Android Studio GCM 注册 ID 显示为空

java - RxJava - Zip 运算符 - 处理网络错误(跳过)

opengl-es - 有没有办法在 IOS4 应用程序中链接 GLKit?

android - 位图回收错误

android - 是否可以在 LinearLayout 的宽度上均匀分布按钮

java - Android 中的时间控件

java - 我可以在哪里更改着色器制服并调用 GL 函数?