Hi Carsten,

On 22.11.2011 18:44, Carsten Neumann wrote:
>       Hello Christoph,
>
> On 11/21/2011 11:27 AM, "Christoph Fünfzig" wrote:
>> > I want to do
>> > singleton->passiveWin[id]->render (singleton->action[id]);
>> > in several threads on the same aspect.
> hmm, may I ask why? That sounds like it would cause quite bad thrashing 
> on the driver/GPU side...
>

I have never looked into driver code ;)  But it would cover the 
traversal/culling time of the scenegraph.
It is mentioned here
http://www.equalizergraphics.com/documentation/parallelOpenGLFAQ.html
so would like to try it out among the other possibilities :)

>> > In method RenderPartition::dropFunctor(DrawFunctor&, State*, Int32, bool)
>> > which belongs to RenderAction, there is
>> > "
>> >      DrawableStatsAttachment *st = DrawableStatsAttachment::get(actCore);
>> >
>> >      if(st == NULL)
>> >      {
>> >          DrawableStatsAttachment::addTo(actCore);
>> >
>> >          st = DrawableStatsAttachment::get(actCore);
>> >      }
>> >
>> > "
>> > which looks not deadlock-free to me (as it adds an attachment to the node),
> correct, that is going to cause problems if run concurrently.
>

Sorry, I meant race condition, as one thread meets the test "st==NULL"
first and proceeds to adding the attachment.
A second might already see "st!=NULL" which is not yet correctly linked to the 
node.

>> > Is there the possibility to move this out of the render traversal
>> > into a preparation phase "add DrawableStatsAttachment"?
> part of the problem is that scene traversal is somewhat expensive for 
> OpenSG and if new geometry is added it would need to get an attachment, 
> so it's not enough to just run this preparation pass once.

Providing these attachments could be made the responsibility of the application 
code. Then there could be custom traversals to attach them outside the render 
loops.
But using several aspects might be an alternative ;)

>> > Or can StatsCollector be switched off completely?
> By default the render action does not have a StatCollector; I changed 
> the code to only add the attachment and collect statistics if there is a 
> collector present (otherwise it's a waste of time anyway).
> Incidentally this also fixes a bug where we were counting triangles twice.
>
>> > How are resources handled during traversal on different windows?
> Sorry for being slow, but I don't quite get what you are asking for, can 
> you rephrase the question or give an example of what handling for which 
> resources you are interested in?

If you have 2 windows/contexts and 2 render actions, the display lists are 
created and stored for each one, for example?
Currently, I am not seeing anything. Perhaps I may send the debug log offline?
I will try to use several aspects. 
How is the max number of aspects set with OpenSG 2.0 ?

Thanks,
Christoph
-- 
NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zurück-Garantie!               
Jetzt informieren: http://www.gmx.net/de/go/freephone

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to