Android OpenGL ES 入门 频闪问题

我的学生时代 2017-06-02 06:31:24
先说现象:仅仅是一个颜色清屏,却导致频闪,虽然可以不闪但是道理上理解不过去.
更详细的内容在注释中,希望热心人解释下原理

public class ActivityTexture extends Activity {
private GLSurfaceView glSurfaceView;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
this.glSurfaceView = new GLSurfaceView(this);
this.glSurfaceView.setRenderer(new TextureRenderer());
setContentView(this.glSurfaceView);
}
}
//----------------------------------------------

public class TextureRenderer implements GLSurfaceView.Renderer {
@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
gl.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
//gl.glClear(GL10.GL_COLOR_BUFFER_BIT);//放在这里就会频闪
}

@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {

}

@Override
public void onDrawFrame(GL10 gl) {
gl.glClear(GL10.GL_COLOR_BUFFER_BIT);//放在这里就不会频闪
}
}


我自己读了下类和方法注释根本就不能理解这个问题,不过还是贴一下:http://blog.csdn.net/u014587769/article/details/72841342
...全文
351 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
我的学生时代 2017-11-23
  • 打赏
  • 举报
回复
这个我没有弄懂但是我需要积分提问新的问题就衔接帖啦,不好意思了各位
水手辛巴 2017-06-03
  • 打赏
  • 举报
回复
我给一个猜测吧,因为双缓存的机制。在初始化时调用说明只对一个缓存区做了一次清除颜色缓存

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧