So, I've made a new example and I was surprised that the FPS is lower when it uses double buffer.
It's not very surprising in fact. It would improve performances only if the bottleneck was the rasterization step, which is unlikely with simple 2D games. So I suggest that you profile your game (with both application and OpenGL profilers) before deciding of an optimization strategy. Otherwise you're just wasting your time.