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

标签 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 创建一个小于屏幕的后备缓冲区,由硬件自动放大到 Present 上的全屏大小?类似于这在 DirectX 中的工作方式?

我正在使用 OpenGL ES 2.0。

最佳答案

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

关于android - 在 Android 上创建比屏幕尺寸更小的后备缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12007634/

相关文章:

ios - GLK数学项目 : Plotting a UIView based on OpenGl Corrds

javascript - 如何在 Android 上从网络打开应用程序

android - 应用程序和网页之间的实时通信

android - 生成 token 以访问谷歌帐户

android - 在 Android 的 ViewPager 中禁用和启用分页

opengl-es - 写入 gl_FragColor 会导致 Android 上的 INVALID_OPERATION

android - 在对话框android中按关闭按钮时出错

ios - 如何在 IOS 5 上更改图层的分辨率

android - 有没有办法检查 Android 设备是否支持 openGL ES 2.0?

opengl-es-2.0 - 如何停止透​​明纹理上的 OpenGL 背景流血