Re: [osg-users] Display lists vs. vertex buffers

From: Don Burns <don_at_andesengineering.com>
Date: Tue Jan 25 2005 - 10:32:23 PST

This is an interesting discussion. While, yes, testing will give concrete
answers to what works best, it is good to understand why things work the
way they do. I believe that application performance should be predictable
based on knowledge of basic ideas.

SO, to say that "display lists are really slow" is a bit of a sweeping
generalization.

Consider these principles:

  1) Objects in local graphics card memory will always be faster than
    objects in host memory.

  2) DMA is faster than programmed I/O.
  
  3) One way traffic from host memory to graphics card is faster than
     two way traffic.

  4) Processing of arrays is faster than single component processing

Applying #1 would indicate that display lists are always faster than
immediate mode graphics. However, display lists can suffer trememdously
if they cannot be cached on the graphics card memory. When cache breaks,
there is "two-way" traffic on the bus between the graphics card and the
system memory, so #3 can be applied. I this case, it is faster to process
an object in immediate mode, rather than have the display list thrash
display list cache.

#2 is the principle behind the use of VBOs. If you're not familiar with
what DMA and programmed I/O is, DMA allows a data transfer between one
system component (host memory) and another system component (graphics
card) making use of ideal burst rate bandwidth on the bus AND without
involving the CPU. It is, indeed, the fastest way to get data from your
application to the graphics card.

However, DMA buffers (aka VBOs) have a limited size, and ALSO can suffer
if they don't fit into what the system has allocated for DMA transfer
memory buffers.

SO, as Robert says (spelling and all), "your millage may vary". But
should be able to use some insight into the system by understanding bus
bandwidths, sizes of buffers, sizes of objects, etc. all fit together.

(#4 should be obvious, right? I can hand you a box of blocks faster than
I can hand you one block at a time, if the number of blocks in the box is
large enough).

-don

_______________________________________________
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
Received on Tue Jan 25 10:32:47 2005

This archive was generated by hypermail 2.1.8 : Tue Jan 25 2005 - 10:32:48 PST