Sign in to follow this  
Nathan Baum

Display lists: Modern usage

Recommended Posts

Nathan Baum    1027
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
V-man    813
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
zedz    291
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

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