Gerrit Voss wrote:
> Hi,
> 
> On Thu, 2008-11-27 at 11:07 +0100, Marcus Lindblom wrote:
>> Hi,
>>
>> I see that there is code for swithcing to the use __declspec(thread) 
>> here and there, but it is disabled by default.
>>
>> I can understand why it's disabled, since __declspec(thread) is not 
>> compatible with delayed loading of libriares (i.e. using LoadLibrary() 
>> or /DELAY).
>>
>> I'm merely wondering; why it's even in there anymore? ;)
>>
>> Any performance advantage over the TlsFoo() functions ought to have been 
>> minimized by going to c-ptr's for regular fcptrs?
> 
> Not quite, the switch to c-ptr's was definitely a big portion but
> the change tracking still requires thread local storage to get the
> changelist.

Ok. I get that. I'm just asking why there are two methods to use tls on 
win32, i.e. tlsalloc and __declspec(theread), when the latter is both 
disabled and has other issues.

> Which reminds me I need to check something with regards to editing
> the same container from two different aspects ;-)

;)

> I don't remember why it is off as the default, but my options for a long
> time have it on. 

What is off?

'enable_win_localstorage' is on by default, which means that TLSAlloc() 
is used. Setting it to off enables declspec(thread).

I was wondering what the use is for the declspec() option (and was 
guessing at mtptr-performance, which is less critical in OpenSG2)?

Also, if no-one is using it, why is it in there?

>> Also, I noticed an scons-switch for shifting the fc-ptr between 
>> multithreaded and singlethreaded, with MT being default. I thought 
>> singlethreaded was the default for OSG2?
> 
> no OpenSG2 is still multi-threaded. Single-threaded really means, no
> aspects, no threading classes, not even in principle as they are taken
> out at compile time. That was part of playing with embedded platforms. 

Perhaps we misunderstand each other. I known that OpenSG2 is MT, but the 
FCPtrs in 1.x are now regular c-ptrs. I though the 'fcptr_mode' switch 
controlled fc-ptrs, not multithreading in general.

Are you saying that that switch controls multithreading in OpenSG as a 
whole? (I don't think you are.. I ought to have listed the switches' names.)

Cheers,
/Marcus

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to