I procedurally generate a variable level of detail geo-sphere with number of triangles ranging from 8 to 8192, and output an array of vertices, normals, and the list of CCW triangle indices.

Using NVTriStrip: “GenerateStrips” (with strip stitching set to false) on my 8192 triangle (4098 vert) sphere, I get out the following -

CACHESIZE_GEFORCE3

Num Strips: 490. Max num. strip indices: 26. Min num. strip indices: 3. Avg num. strip indices: 19.

CACHESIZE_GEFORCE1_2

Num Strips: 844. Max num. strip indices: 18. Min num. strip indices: 3. Avg num. strip indices: 12.

What I’d like to know is-

Why are there a number of strips with only 3 indices?

Why aren’t there any long strips on what I’d have thought would be a mesh suited to really long strips?

My large list of triangle indices for my geo-sphere is ordered in such a way that each consecutive triangle index group of three in the list will never/rarely be next to each other on the actual sphere itself, so does the order/coherence of the triangle indices passed in to the stripping function affect the result?

Perhaps someone could also explain to me the exact details relating to the cache size and how this affects the resultant strips.