Display List vs Vertex Arrays

Started by
8 comments, last by _the_phantom_ 17 years, 1 month ago
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
Advertisement
Try it. There's no universal answer, and the result will depend on your particular situation.
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?
Why not use a vertex buffer object (VBO) instead ?

Read this post to see how to use a VBO:
http://www.gamedev.net/community/forums/topic.asp?topic_id=439341
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.
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 :-)
thanks
i heared that DLs will be removed from OGL next version is that true =\
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.
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]

This topic is closed to new replies.

Advertisement