Android OpenGl Es 2.0动态壁纸纹理和位图

时间:2012-05-28 11:46:15

标签: android bitmap textures opengl-es-2.0 live-wallpaper

我正在使用opengl es 2.0开发一个动态壁纸,我想知道是否有一种方法可以在创建渲染器或位图时保持纹理加载,因此他们不需要在每次屏幕方向更改时重新创建,或屏幕熄灭时 我用缓冲区(索引等)做了这个,但是纹理和位图都在回收。

1 个答案:

答案 0 :(得分:0)

您遇到的行为是Android中OpenGL应用程序标准生命周期行为的一部分。

这张Google I / O视频在30:29得到了很好的解释

http://developer.android.com/videos/index.html#v=5yorhsSPFG4

无论如何,他在GPU中的内存需要重新初始化的事实并不意味着你需要从头开始重新加载。

通过执行以下操作,您可以获得相当不错的表现:

  1. 启动时将所有内容加载到内存中(VBO +纹理+指数+等)

  2. 加载GPU内存并在每次从分配的系统内存(第1点)返回上下文时绑定到

  3. 通过这种方式,您可以保留两只石头,您可以保证您的资源始终可以使用,并且每次“返回上下文”时您都不会加载加载时间。