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