On 06/10/2011 09:17 PM, Gerrit Voß wrote:
> In general generic field handling (getField/editField by name or id)
> might be slower as they are without rtt in 2.x, so the dynamic type
> information had to be externalized and run through and an intermediate
> handler.

Hi Gerrit,

Yes, I noticed that generic field access pays a penalty by going through 
a non-inline virtual function in 2.0. I worked around this by caching 
the Field* and EditFieldHandlePtr returned by editField(). This allows 
me to get and set the field value quickly, however when setting, it will 
not call editSField or editMField to trigger the changed() function of 
the FieldContainer.

On the list from a couple years ago, I found someone else with a similar 
issue, and the recommended solution is to simply make edit[SM]Field() 
public in FieldContainer. For now, I have done this in my local OpenSG 
source, but it would be nice to have a cleaner solution. Generic field 
access is a good feature of OpenSG but without inline speed it can only 
be used occasionally.


But a separate issue is that ChangeList tracking and applying seems to 
be slower. With 1.8, it was a performance benefit for my application to 
use a separate update thread with a separate aspect. However with 2.0, 
the overhead of syncing the two aspects outweighs the benefit of 
updating in parallel, so I've had to disable the update thread. But in a 
cluster configuration I can't avoid this overhead. That said, recent 
revisions of ChangeList code is much improved, but I'm still not seeing 
1.8 speeds. I still haven't quite figured out what is going on, and I'm 
not clear how much is the update thread ChangeList tracking being slower 
or if the apply()/clear() in the render thread is slower, or some of both.

Thanks for your help,
-Michael


------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to