If you plan to redraw the same geometry multiple times, or if you have a set of state changes that need to be applied multiple times, consider using display lists. Some graphics hardware may store display lists in dedicated memory or may store the data in an optimized form for rendering. The biggest drawback of using display lists is data expansion. The display list contains an entire copy of all your data plus additional data for each command and for each list. As a result, tuning for display lists focuses mainly on reducing storage requirements.
Performance improves if the data that is being traversed fits in the cache.
This frees storage space used by the deleted display lists and expedites the creation of new display lists. Avoid duplication of display lists. For example, if you have a scene with 100 spheres of different sizes and materials, generate one display list that is a unit sphere centered about the origin. Then reference the sphere many times, setting the appropriate material properties and transforms each time. Make the display lists as flat as possible, but be sure not to exceed the cache size.