PDA

View Full Version : Display List vs VAR, VAO, and VBO



azcoder
03-20-2003, 06:06 PM
Question: For static geometry, can the latest nvidia and ATI drivers store DisplayLists in AGP and/or video mem?

Or will VAR, VAO, (and soon VBO!) always be faster and why?

I have just finished porting my static terrain tiles to use VAO, and am going to code support for VAR - but then I thought why can't the driver just store a displaylist in AGP just as easily?

Thanks again for any insight

zeckensack
03-20-2003, 06:31 PM
Display lists peak at around 48Million unique vertices/s on my Radeon 8500LE. That's exactly the same speed as VAO. So I'd say yes, go ahead http://www.opengl.org/discussion_boards/ubb/smile.gif

Coriolis
03-20-2003, 08:47 PM
Display lists have to be completely general, so they can be hard to optimize. The docs I have seen from ATI and nVidia recommend using VAO instead of display lists.

Arath
03-21-2003, 12:43 AM
I'm agree that we should use VBO instead of display list, but what's about overcalling glDrawElements ? I mean, nvidia writes every year at the GDC a paper for D3D optimization, and it always talk about batching drawprimitive. I suppose the same problem appears with OpenGL, doesn't it?

Arath

harsman
03-21-2003, 03:15 AM
It applies to OpenGL as well, but less since the API cost is smaller in OpenGL. If you're rendering less than around 130-150 triangles per DrawElements, you're probably CPU-limited. Execellent info on the importance of batching can be found here (http://developer.nvidia.com/docs/IO/4449/SUPP/BatchBatchBatch.pdf) .

Humus
03-21-2003, 01:45 PM
I've done some testing with this, and VBO is significantly faster than display lists in pretty much every case. The only time this isn't true is when you're using a non-native vertex format.

knackered
03-21-2003, 05:02 PM
Originally posted by harsman:
It applies to OpenGL as well, but less since the API cost is smaller in OpenGL. If you're rendering less than around 130-150 triangles per DrawElements, you're probably CPU-limited. Execellent info on the importance of batching can be found here (http://developer.nvidia.com/docs/IO/4449/SUPP/BatchBatchBatch.pdf) .

It doesn't really offer any practical solutions to this, does it?

harsman
03-23-2003, 05:07 AM
Well, the practical solution is to batch more http://www.opengl.org/discussion_boards/ubb/wink.gif Or maybe I misunderstood you. the point of that document is just that if you make lots of drawing calls you're probably CPU-limited, thus to get better geometry performance make less calls. As an alternative, make the same number of calls but increase the number of triangles "for free".

fritzlang
03-23-2003, 05:27 AM
Originally posted by Humus:
I've done some testing with this, and VBO is significantly faster than display lists in pretty much every case.

Humus, Im having problems getting any performance gains at all using VBO, would you care to give me a hint on what I might be doing wrong?
(Code at the end of VBO thread)

Cheers / Tack

[This message has been edited by fritzlang (edited 03-23-2003).]