It blinks, because that is what you've coded. Keep in mind that you have double buffering, i.e. one frame is visible while the hidden frame will be drawn to. After onDrawFrame(), the frames will switch. You clear one frame with some shade of blue, the other one will be black and because you are not doing anything in onDrawFrame(), you constantly switch between a blue and a black screen...and that's what you see.