GLSurfaceView.RENDERMODE_CONTINUOUSLY导致闪烁

时间:2014-04-05 19:39:22

标签: android rendering opengl-es-2.0 glsurfaceview

正如已经提到的这行代码

setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);

导致我的应用程序惨淡闪烁。 这意味着如果我将其更改为

setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);

它会停止闪烁。

我所使用的设备是华硕Padfone a86。

你有想法如何解决这个问题吗?

1 个答案:

答案 0 :(得分:4)

有两种可能性:操作系统出错了,或者你的应用做错了。

如果您在任何其他应用或系统动画中看不到闪烁,则系统不太可能出现故障。你并没有真正描述闪烁的本质,但是有一些常见的问题。

一种可能性是,每次调用onDrawFrame()时,您都没有完全重绘屏幕。如果您不这样做,系统将显示空白或先前渲染的帧。另一种可能性是,您在执行onDrawFrame()时更新状态,因此您获得了一个部分更新的框架,该框架会在陌生的地方留下对象。

当然,如果您使用RENDERMODE_WHEN_DIRTY获得所需的结果,您可能只想坚持下去。