Let's assume I want to draw several separated (possibly textured) quads in Direct3D 9, each consisting of two triangles:
How should I draw these for maximum performance, i.e. which of the following ways is better in terms of speed?
- Describe each quad by 4 vertices, use
IDirect3DDevice9::DrawPrimitivefor each individual quad, since they are not connected.
- Describe each quad by 6 vertices, use
The first method uses less memory, while the second one requires only one draw call.
However, the second way seems to be feasible only if all the quads have the same texture, since otherwise a switch would be required.