VBOs and FBOs will be way more performant than display lists. Especially for terrain.
VBOs and FBOs are ideal for stuff that doesn't change (Terrain).
It basically means:
1. Put a big object on the video card
2. Draw that object
3. draw again
Notice that you only put the giant object on the video-card once. In GFX programming, the most expensive thing is telling your GFX card to do something. It's usually more expensive than what the card is actually supposed to do. So if you can give it as few commands as possible, you should see a great performance increase.
A display list consists of many commands per face which are repeated every frame.
In a VBO you write the "many commands" once when you configure your program. Then every time you redraw, you send the GFX card one single command (Draw what I sent you before).
Since there is one command per frame, your performance will sky-rocket.
Since you are using glbegin and glend, I am assuming that you are using openGL in "fixed pipeline" mode. That's great, because it's very simple.
Search the internet for a tutorial on VBOs.
Unfortunately, I've learnt this long ago (and in DirectX) so I cant point you to good & recent tutorial for openGL.
But here is a random one from the internet:http://sdickinson.com/wordpress/?p=122. If it is not easy enough, search for something else on the internet. VBOs today are quite common. The site that you originally learnt openGL from should have a VBO tutorial.
Learning VBOs, I was able to render a 50k face terrain without breaking a sweat on my Geforce 2 (in 2002). So your 650 should be able to do much much more.
Edited by SillyCow, 30 June 2013 - 02:14 PM.