Hello,

with significant help, I've recently succeeded to compile my own GIT
binary. Initially this was very slow, in the mean time I've been told some
flags for the compiler which I've been using to recompile OpenSceneGraph,
Simgear and Flightgear which improved the available framerate by a factor
two.

Previously I've been using a pre-built Linux 2.0.0 binary and
OpenSceneGraph 2.9.6 by Jon Stockill (of packages linked from the website,
FlightGear-2.0.0-i686-1_slack11.0.tgz) which has been working very well
for me. I've been developing, testing and optimizing the local weather
package mainly with this binary.

My self-compiled GIT binary and OSG 2.9.10 is now *almost* as fast - most
of the time I guess it has about ~10-15% less framerate - with one
important exception: Loading models into the scenery. Which means that as
long as I have a given cloud configuration in the scenery, I reach even
with wind-drift on above 34+ fps in a test situation (noon Cumulus layer
around Las Vegas seen from the F-14b). But this changes whenever a cloud
model is loaded.

Local weather loads clouds by writing into the /models/ node of the
property tree (pretty much the way the tanker.nas script generates a
custom tanker). With my 2.0.0 binary, I have a noticeable drop down to 15+
fps when loading the initial configuration of ~1000 cloudlets. Once that
is done, cloud are loaded from a buffer at a speed of 1 cloudlet per
frame. This doesn't lead to any detectable drop in framerate.

Not so with my GIT binary: Loading of the initial cloud configuration
brings me down to 4 fps, and every time (!) a cloud is loaded from the
buffer my framerate drops from 34+ to something like 20+ for a moment -
which makes the whole experience rather jerky.

I am sure that this difference is not caused by differences in the speed
of writing from Nasal into the property tree (cloud drift writes several
hundred properties per frame, but doesn't slow me down below 30 fps,
loading a new model has far less writing processes) but by whatever the
Flightgear core does after the /models/ node has been written to bring the
model into the scenery.

This always has been a bottleneck for me even in 2.0.0 which I have
addressed by buffering the clouds - but with the GIT binary, it basically
is the one issue which determines the speed of the local weather system.

I'm pretty puzzled as to why this would be so, since it is working fine
with my prebuilt 2.0.0 binary and OSG.

Thus my question: Would Jon be so kind to let me know with what set of
options the prebuilt slackware binaries and OSG libs were compiled, so
that I can check if what I see is related to the way I compile?

Or does anyone know if the code responsible for loading models into the
scenery has been changed since 2.0.0 and if that could account for the
difference in performance?

Or does anyone have a different theory as to what is happening?

(The good thing is that apparently there is a solution, because it does
work smooth and well in 2.0.0)

* Thorsten

P.S.: I've also experienced that the Landmass effect shader is a complete
show-stopper for my system - it brings me from 34+ fps down to 7 fps - is
that normal?


------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to