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