Hi Gerrit,

On 19.12.2011 18:33, Gerrit Voß wrote:
>
> Hi,
>
> On Mon, 2011-12-19 at 18:08 +0100, "Christoph Fünfzig" wrote:
>> Hi Gerrit,
>>
>> On 19.12.2011 16:56, Gerrit Voß wrote:
>>>
>>> Hi Christoph,
>>>
>>> On Mon, 2011-12-19 at 14:55 +0100, "Christoph Fünfzig" wrote:
>>>> Hi Gerrit,
>>>>
>>>> thanks for your hints.
>>>> Syncing aspects sequentially, does sound expensive above a certain number.
>>>
>>> yep.
>>>
>>>> What do you think about adding a pre-allocation of aspect store vectors
>>>> before starting OpenSG?
>>>
>>> unfortunately that will only delay the problems/crashes as some of the 
>>> underlying data the sync manipulates will be touched by all syncing
>>> threads and as they execute exactly the same sequence of syncs they will
>>> interfere with each other.
>>>
>>> I just changed it so now the sync uses cheap atomic spinlocks to lock
>>> each container individually while the synchronization is running so that
>>> they run overlapping and each thread is delayed as shortly as possible.
>>>
>> So this is in the GIT already or where do you change it?
>
> yes, I pushed it this afternoon commit 
> fa087cbe8e252ee14558aeeb7f33b8a59ad6d60b
>
ok, will have a look. Btw. do you have a test program for OSG::Barrier
on windows (WinThreadBarrierBase)?

>>> So far all tests including your testprogram work. Only for your
>>> testprogram I get only a black result in the parallel windows but
>>> this might be something else.
>>
>> Which of the two test programs are you referring to 
>> (2 windows or 3 windows) ?
>
> your latest with 3 windows from Friday (testStatisticsGerrit.cpp)

Here it works modulo some artifacts to find out about.
You have to add skyBoxFront.jpg/skyBoxBack.jpg/..
and you are looking at the scene box from the outside ;)

Coming back to aspect synchronization:
The synchronization between
    singleton->syncBarrier->enter(singleton->numChannels+1);
    singleton->appThread->getChangeList()->applyNoClear();
    singleton->syncBarrier->enter(singleton->numChannels+1);
is read only with respect to "singleton->appThread->getChangeList()".
It writes to the aspect assigned to the thread. So this does not
interfere with others ..
Why do you insist on doing it sequentially? :)

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

------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to