Peak performance

In order to get peak performanse from my gfx card, I’ve placed each object of my scene into separate display list. Since objects had to be hierarchicaly connected I have used different display lists to represent object relationships.

Each of these lists has following form:

glPushMatrix();
glMultMatrix(motion_matrix);
glCallList(drawObject);
glCallList(callSubObject1);
glCallList(callSubObject2);

glPopMatrix();

To create motion I have been changing these matrices/display lists for each frame.

Is it possible that frequent changing of display lists leads to gfx card memory fragmentation, thus slowing down the process more than if I had done this ‘by hand’?

What performanse increase can I expect from VectorPointers and VectorArrays? Is it worth implementing? (I have single WindowsXP machine w/ ATI Radeon 9000ProII 128Mb)

Thanks in advance,
Vlada

If you change the CONTENTS of display lists, or create/destroy display lists a lot, that will lead to slow-downs, not only because of fragmentation, but also because of upload costs.

If you just draw a bunch of lists that you create once, that’s a fine approach, and should give performance similar to ARB_vertex_buffer_object.