Hi Dan,

Daniel E. Shipton wrote:
> 
> Sprinkling magic commitChanges() isn't really a viable solution when 
> porting code to 2.0.

No, sprinkling magic only works in farytales, so that is definitely not an 
option.

I did give the rule in my mail: after sets before gets you have to call 
commitChanges(). That will always work. It doesn't matter if you do it 
immediately after the set or before the get. The former might be more 
appropriate, as it makes sure the call is made.

> It may be a pain to keep a list of when it must be called but it is 
> quite neccesary.  

Honestly I would very much prefer to do it the other way around: keep a list of 
methods that are safe to call without commitChanges(). I would imagine it being 
fairly short, and focused on the core methods that absolutely need updates: 
Node 
methods for child management and bounding volume stuff.

We could think about adding optional checks to the get methods that make sure 
the changes are committed. That would force more commits than strictly 
necessary, but it would be a good way to get people to not forget commits. 
Comments?

The main reason why we're not doing automatic commits is as follows: we can't 
do 
it after each set, as there are operations (like NURBS tesselation or Volume 
texture formatting) that are very expensive and depend on multiple sets, so the 
user needs to tell us when it makes sense to do those. The alternative is 
calling it before each get(). The problem with that is that while the overhead 
for commitChanges() is not big, there is some overhead, so we've refrained from 
doing that.

To simplify things for the users, at least in the beginning, we could add a 
conditional compile for doing that. There has to be a way to get rid of it, but 
we could add it by default. Comments?

> While it is
> very nice to see the begin/edits go away, I would like to see more 
> details of why/how/what changes
> are being made to 2.0 and how that could affect code that is being ported.

That what http://opensg.vrsource.org/trac/wiki/Dev/Changes1To2 was supposed to 
cover. It's probably far from complete right now, so if you find something that 
is missing please add it.

Thanks!

        Dirk

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to