I want to render a large number of screen space 2D quads which only distinguish by position and texture coordinates. As far as I can tell I have 2 primary options to do this:
Submit a number of vertices with attributes position, size and texture coordinates, then emit 4 vertices using a geometry shader that form one quad consisting of two triangles.
Create a quad base geometry, then replicate this using glDrawArrays instanced. The missing attributes are filled in by a vbo containing the attibutes from option 1) whose position component is updated accordingly.
Which one is potentially faster on an embedded PowerVR Series 6 system with GLES 3.1?