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

From: Sébastien Kuntz <sebastien.kuntz_at_nowan.net>
Date: Wed Jan 26 2005 - 01:34:17 PST

I've added a small section on Optimization in Tips & Tricks
maybe this would be worth a section on its own.
I invite you all to share your links and experience
on optimizing opengl and osg ;)

On Tue 25 Jan 10:32, Don Burns wrote:
>
> 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/

-- 
Sébastien Kuntz
Virtual Reality Lab @ S.N.C.F French Railways 
http://cb.nowan.net/blog/ Virtual Reality, 3d, C++
_______________________________________________
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
Received on Wed Jan 26 01:34:21 2005

This archive was generated by hypermail 2.1.8 : Wed Jan 26 2005 - 01:34:22 PST