title: Android GLES20 big textured quad very slow (on Nexus One)
body: <p>I render 2 triangles covering the whole surface using GLES20 context only. The problem is now that drawing just one single texture this way seems to be unreasonably slow. The framerate goes down from 58fps to 21fps.</p>
  
  <ul>
  <li>the problem really seems to be the overall pixel area drawn of all quads together</li>
  <li>bitmaps are resized to pow2 on loading</li>
  <li>bitmaps are loaded with correct internal GL formats</li>
  <li>using 8888 or 565 bitmap doesn't change anything</li>
  <li>both vertex and fragment shader code is absolutely minimal</li>
  <li>enabling/disabling blending doesn't change anything</li>
  <li>drawing whole bitmap in one tile or in multiple tiles doesn't help</li>
  <li>glDrawTexiOES doesn't seem to work with GLES20 (GL enum error)</li>
  </ul>
  
  <p>I'm at a loss here; I thought blitting a single image in GL should be at least as quick as doing the same with Canvas, but it doesn't seem to be the case.</p>
  
  <p>Can someone provide tips or an explanation of this performance hit?</p>
  
  <p>Update:</p>
  
  <p>I just adapted my rendering thread to support a canvas instead of EGL
  context and I do absolutely the same; showing an fps text and blitting
  a background texture.
  Guess what: showing the text only I get 58fps, adding the background
  picture I get... 57fps!</p>
  
  <p>Now I am officially and very seriously pissed off. I hope that I am
  just not smart enough to use GLES20 well, otherwise it seems that if
  you want to blit 2D graphics - you take Canvas; and if and ONLY IF you
  want many triangles in 3D, then you take OpenGL.</p>
  
  <p>Shouldn't OpenGL be always at least as fast as the 2D API provided by
  the Canvas?</p>