State changes are similar to draw calls in that there is an overhead imposed every time state is changed. To reduce this overhead, minimize the number of state changes your application makes.
You can reduce state changes by:
Grouping together triangles or objects with the same texture.
Using texture atlases. This enables you to draw complex single objects or multiple objects with a single texture. See Combining textures in a texture atlas.