Display List efficency

I’ve got a Gefore2 and load a single display list with 130,000 triangles. I have one light source at an infinite distance(but without this light I still get about the triangle through put). I get 14 fps in my glut app. This turns out to 1.82 million triangles/sec, which is far short of the max for a geforce2. I’d rather not go to using GL_NV_vertex_array_range since I want to run this on other cards, but I may program this is you guys think it would offer a huge increased performance.

Things I know:

  1. My app is not fill rate limited.
  2. If I look away from the triangle my fps spike to 100 meaning the performance lost is not background calculation.

Things I want to know:

  1. Why is my triangle through put so low?
  2. How can I fix this with display lists?
  3. What triangle throughput can I expect if I go to GL_NV_vertex_array_range?

Thanks for your help!