Sign in to follow this  

Display lists: Modern usage

This topic is 3807 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Display lists. Are they used in modern high-performance code, and if they are, what for? These are the general classes of obvious potential uses I can think of: 1. Storing texture data. In the olden days this was the most efficient way to switch between textures quickly, since there were no texture names. Now that there are, it seems likely that using display lists to store textures is always going to be the worst option. 2. Storing vertex data. In principle, drawing vertices from a display list should be no less efficient than drawing from a VBO. If I were making a GL implementation I'd store display list vertex data in VBOs, so they'd actually be the same thing. Of course, display list meshes are traditionally limited to static data, but nowadays you can apply bone deformation in a vertex shader. Still, it doesn't seem like there'd be an advantage to using display lists. 3. Storing state vector changes. Calling a display list to set up complex state should be far more efficient than calling the state functions separately. This is usually the case on my system (X11, nvidia driver version 1.0.8776, GeForce 6200). Khronos are reinventing this wheel for "Long Peaks" and the new "state objects" will probably be more efficient and a little less error-prone. Right now, though, it seems like display lists are the most efficient option for large state changes.

Share this post


Link to post
Share on other sites
I'm assuming you are an old time programmer, from pre-2000.

GL has changed. There is many ways to do the same thing.
Concept : VBO makes display lists useless.
Practical : A few people have said put your data in a VBO and still using a display list is faster on nVidia since it does object to frustum culling.

Long peaks is comming. The idea of having geometry only display lists came up. You won't be able to put other commands since it makes drivers complicated and buggy.

"display lists are the most efficient option for large state changes."

I think not but perhaps you are correct.
I think GPUs are not capable of executing display lists on board. The driver just tells it what series of commands it needs to execute.

Also, in general the bottleneck in most programs (games?) is the fillrate. The memory interface on video cards is slow. If you use blending, it's even slower.

Share this post


Link to post
Share on other sites
when u create a DL use glBegin()..glEnd(), VBOs + VAs (combined with DL) give no advantage.

for static stuff, WRT speed both DL + VBO will be roughly equal in performance

Share this post


Link to post
Share on other sites

This topic is 3807 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this