There are certain easy ways to optimize certain techniques. For example, I wanted an OpenGL program with many many particles. They had only to be one color, and should be pretty small. The solution was to use shaders to draw points. I got over one million (1024**2) particles at 50fps using this technique. Still, the solutution ended up being pretty complicated.
I'm guessing that for better results, you'll likewise want something more complex. There's not really a way around it. Display lists are the easiest method I've seen for drastically improving performance. If you want faster, you'll need more code. Ian