If you want to know in detail what each optimization the osgUtil::Optimizer 
does you'll probably have to read the code, but the doxygen documentation has 
some info (scroll down to the Classes section): 

 

http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a01526.html

 

Alex

 

 

 

________________________________

From: [email protected] 
[mailto:[email protected]] On Behalf Of Simon Loic
Sent: Tuesday, February 10, 2009 2:20 PM
To: OpenSceneGraph Users
Subject: Re: [osg-users] Cull time doubled?

 

One thing I would like to try before balancing the scene graph is to use 
osgUtil::Optimizer in order to diagnose the problem of my scene graph. Do you 
think this make sense? If yes can someone explain me quickly the effect of the 
different optimizer options or just point me to a document which does so. 

Thanks a lot.

On Tue, Feb 10, 2009 at 10:46 PM, Simon Loic <[email protected]> wrote:

I'm quite interesting in getting my scenegraph  more balanced scenegraph. I 
will take the time to think about it (and probably ask for help then).

Concerning the  _OPENTHREADS_ATOMIC_USE_GCC_BUILTINS I didn't get how to 
generate the include/OpenThreads/Config file. Anyway, I don't get neither how 
it can come into play as I'm profiling with the SingleThreaded option and the 
results are too bad.

regards,

 

On Tue, Feb 10, 2009 at 5:32 PM, Robert Osfield <[email protected]> 
wrote:

Hi Simon,

Like Alex I recommend that you have a look at whether your build is
using atomic ref counts.

Second up, your explanation of your scene graphs suggest to me that is
very poorly balanced.  You cull/draw times are all very long, even for
complex scenes I would expect cull and draw times 1/10th of these.

Lots of PAT's all under a single Group node is really badly balanced -
you should try to create a quad tree structure as this improves cull
performance significantly as how subgraphs containing thousands of
nodes can be culled in a single op.  Also see if you can use an design
that doesn't rely heavily of PAT's, as each transform in your scene
requires the view frustum to be transformed into the local coords of
the PAT, which is relative expensive operation.

Robert.


On Tue, Feb 10, 2009 at 8:50 AM, Simon Loic <[email protected]> wrote:

> I think I have a problem similar to Alex one.
> The stats I get follow :
>
> MultiThreaded/SingleThreaded
> Cull Time:  40/33
> Draw Time:  55/52
> GPU Time:   85/85
>
> I also attached a callgrind output (you can use kcachegrind to analyse it)
> where it seems that the osgUtil::SceneView::cull() costs 70% of
> osgViewer::Renderer::cull_draw() while osgUtil::SceneView::draw() counts for
> only 30% !! However I'm not  much aware with the way osgViewer works, yet I
> find this result weird in comparison with the stats results.
>
> In my case I have a scene graph composed of many nodes (i don't think I can
> post the .osg which is 16MB). The strucuture is not complex : I have a
> shadow scene as root with as child a group (the real root of the graph some
> how). Then the root is connected to plenty of PositionAttitudeTransfoms
> having each one a child which is a geode.
>
> In fact the geode are quite complex polygonal meshes. So I would expect that
> the draw part is more costly than the draw part.
> I hope this can  help to see what is wrong for Alex and for me.
>
>
> On Tue, Feb 10, 2009 at 7:54 AM, J.P. Delport <[email protected]> wrote:
>>
>> Hi,
>>
>> Mathias Fröhlich wrote:
>>>
>>> Hi,
>>>
>>> On Monday 09 February 2009 23:54, Pecoraro, Alexander N wrote:
>>>>
>>>> On Linux this translated to "-O3 -DNDEBUG" (at least that's what
>>>> cmake-gui says is defined for the CMAKE_CXX_FLAGS_RELEASE variable).
>>>
>>> May be I know cmake to little, but the only way to really make sure I got
>>> cmake correct was to set CMAKE_VERBOSE_MAKEFILE=TRUE and see how the build
>>> scripts really call the compiler.
>>
>> you can also run make <other options> VERBOSE=1
>> on the normal cmake generated Makefile.
>>
>> jp
>>
>>>
>>> Robert,
>>> I know that it is a matter of taste if one sets this flag. But may be it
>>> will help people to catch unoptimized builds due to the possible
>>> intransparency of cmakes compile flags handling. So should that be on by
>>> default?
>>>
>>> Greetings
>>>
>>> Mathias
>>>
>>
>> --
>> This message is subject to the CSIR's copyright terms and conditions,
>> e-mail legal notice, and implemented Open Document Format (ODF) standard.
>> The full disclaimer details can be found at
>> http://www.csir.co.za/disclaimer.html.
>>
>> This message has been scanned for viruses and dangerous content by
>> MailScanner, and is believed to be clean.  MailScanner thanks Transtec
>> Computers for their support.
>>
>> _______________________________________________
>> osg-users mailing list
>> [email protected]
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
>
> --
> Loïc Simon
>
> _______________________________________________
> 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





-- 
Loïc Simon




-- 
Loïc Simon

_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to