Thanks Robert for trying to get into the problem. I wanted to let it "opened" in order to get as many opinion/possible oprimizations as possible. To be truly honest I have a real problem with specific conditions. Many instances refers to hundreds of them. Large geometries are about 10 000 to 100 000 vertices. All the instances have the same geometry (which is static), and the same stateset. cheers, Loïc
On Fri, Jul 3, 2009 at 10:19 AM, Robert Osfield <[email protected]>wrote: > Hi Loic, > > Optimizing drawing lots of large geometries depends upon lots of > factors, both hardware and software. It really is a very open ended > topic, so could you qualify what you mean by "lots" and "large" a bit > more carefully, and also are the geometries all the same, same > geometry/different state, different geometries/same state, different > geometries and different state. > > I tend to see "lots" of nodes/geometries as being in the order of > magnitude of 10,000+, and "large" geometries as being 100,000+ > vertices. Modern graphics cards can comfortably do 1,000,000 vertices > per frame at 60Hz, but only if you drive it efficiently - so using > VBO's and batching the geometries efficiently (avoiding too small > geometries). > > Culling, state sorting and lazy state updating are all crucial factors > in getting good performance. With such an open ended topic I can't > really add much more, you'll need to explain much more specifically > about the type of problem you are trying to solve and the amount of > state, nodes and geometry that you are dealing with. > > Robert. > > > On Fri, Jul 3, 2009 at 11:07 AM, Simon Loic<[email protected]> wrote: > > Hi all, > > There was a thread recently about rendering many instances of spheres (I > > didn't want to hijack the thread so I created a new one). Many methods > were > > proposed among which there were opengl pseudo instancing and the > > draw_instanced extension. > > First I would like to know the main differences between these two (both > in > > the principle and in terms of efficiency). > > > > just for the record, I've read the Nvidia paper given by Christian, > > > http://download.nvidia.com/developer/SDK/Individual_Samples/DEMOS/OpenGL/src/glsl_pseudo_instancing/docs/glsl_pseudo_instancing.pdf > > and it seems that the pseudo instancing methods will be worth only when > > each instance contains few vertices (less than 50). This constraint won't > > cause any trouble for a sphere, I guess. > > Is it the same with the draw_instanced extension? > > And then what would be the best approach to render many instances of a > big > > geometry (eg thousands of vertices per instance)? > > Last, are those instancing methods worth even if the geometry is static, > or > > is it more efficient to use DisplayList or VBO? > > > > I know there must not be general answers depending on many aspects (as > the > > Graphics card, the driver, etc.) but I am looking forward to get a bit of > > your expertise in that matter. > > Thanks in advance. > > > > Loïc > > > > PS: I'm not very skilled in openGL so don't hesitate to explain things > that > > seems very basic about all those concepts ( like instancing, VBO, > > displayList). Hopefully this will be also useful for other osg newbies > like > > me. > > > > _______________________________________________ > > osg-users mailing list > > [email protected] > > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > > > > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

