在Android上创建比屏幕尺寸更小的后备缓冲区

时间:2012-08-17 14:23:21

标签: android opengl-es-2.0

使用FBO渲染屏幕不是一种选择,因为在我的硬件(HTC Desire,Adreno 200)上,只需切换渲染目标即可完全消除帧速率。这是所有Adrenos的问题(例如:Framebuffer FBO render to texture is very slow, using OpenGL ES 2.0 on Android, why?)。

那么Android是否可以创建一个小于屏幕的后备缓冲区,该屏幕会被硬件自动升级为现在的全屏尺寸?类似于在DirectX中如何工作?

我正在使用OpenGL ES 2.0。

1 个答案:

答案 0 :(得分:1)

我相信你想要的效果将通过使用surfaceHolder.setFixedSize()来实现。这使用SurfaceFlinger将窗口的表面缩放到全屏大小。在某些Android设备上,这种缩放将由硬件合成器完成,因此我建议保持绘制窗口大小和缩放大小之间的比例合理,以避免出现伪影。