Skip to main content
GameDev.net gamedev.net
🔒 Locked

Display List vs Vertex Arrays

Started by glHomeless Mar 20, 2007 at 12:52 PM 8 replies 4.9k views
Original Post
glHomeless
glHomeless
Hi, I have a question concerning the speed of Vertex Arrays and Display Lists. I have an array filled with Vertex Coordinates. I want to know if it is faster to render with Vertex Array (glVertexPointer + glDrawArrays) or Display List? What is the difference? thanks
Brother Bob
Brother Bob
Try it. There's no universal answer, and the result will depend on your particular situation.
glHomeless
glHomeless
When I use display list, the array is stored on the graphic card. So it can be fast loaded. Is this too the case for vertex arrays? Did I understood right the use of display list?
Brother Bob
Brother Bob
Quote:
Original post by glHomeless
When I use display list, the array is stored on the graphic card. So it can be fast loaded. Is this too the case for vertex arrays? Did I understood right the use of display list?

The display list don't have to be stored on the graphics card, and using vertex buffer objects, you can have a chance of putting the vertex arrys on the graphics card.

You really don't know for sure where they are stored, and being on the graphics card is itself not a guarantee for something being faster than another. That's why I told you to try it. We can only guess, but you can know for sure which one is faster in your particular situation.
Todo
Todo
Rundown (considering only the case of drawing geometry):
* a display list serves as a precompiled set of commands to the GPU. You can compare this with an RPC (remote procedure call), where the GPU knows what to do, and you only have to tell him when to do it (multiple times if so desired);
* a vertex array is comparable to a display list in that only one call is needed to draw geometry. However, unlike a display list, vertex attributes live in client (user) memory and need to be copied to the GPU every time it needs to draw;
* a vertex object is equivalent to a vertex array, where storage can now be allocated in for the GPU fast-accessible memory (for example, video memory).

EDIT: beaten :-)
Sneftel
Sneftel
So it has been rumbled, but the ARB has a history of dragging its feet. Expect it to stick around for another minor version or two.
_the_phantom_
_the_phantom_
OpenGL Longs Peak, as it's currently calls, is getting a major overhall.

When it comes to display lists they might well turn into geometry only lists, so no state changes inside them; however this isn't set in stone so it could all change.

this pdf from GDC has some details on Longs Peak... my personal fav. new toy is going to be Vertex Array Objects [smile]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.