>
> Indeed the jitter is caused by Nasal's "garbageCollect" method. Simple
> test: add a printf (apply attached "patch" to simgear) and you should see
> the "stutter" is synchronized with it.
>

True! The text is printfed with every jitter.


>  Well, there is a workaround! Use a faster CPU :). I see a jitter of about
> 7ms with most aircraft.
>

Wow 7 ms is very good. I hardly notice a 10 ms jitter, at full 75 fps.
But something around 20 ms gets very prominent.


>  However, the garbage collector does a complete scan of all Nasal objects
> to detect and remove unreachable elements. So, the more Nasal data elements
> we have, the worse the jitter gets. Large Nasal data structures will
> eventually break every CPU. And since it's done in the context of normal
> Nasal calls, and not in a separate background thread, it directly affects
> the duration of our main update loop - hence frame rate. Not so nice.
> Hmm. Other script languages rely on reference counting for garbage
> collection, which means much more stable performance. Python does that for
> example. But, well... GSoC anyone? ;-)
>

Python support would be a great feature I think. It is used in many products
(e.g. in Blender) and that is a plus. However it's not guaranteed that it is
free of such problems until you port all current Nasal scripts to Python and
test it.
What I am thinking about is a possibility to convert Nasal scripts to C or
C++ and compile them as shared objects (.so .dll). Then we could load them
dynamically at fgfs runtime. So in the end we get raw C/C++ performance to
our modules.
Is this possible or am I dreaming of something impossible here?
What do you think?
------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software 
be a part of the solution? Download the Intel(R) Manageability Checker 
today! http://p.sf.net/sfu/intel-dev2devmar
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to