I did some profiling of flightgear because I'd like to
optimize performance of the terrain culling + rendering which is bad
when terrain fog is far, that mean when there is a lot to render and
cull in the scene graph. 
Performance is fine with the default fog distance though but it gets
very bad when you put it farther with keys Z/z.
When fog is very far or disabled it can go below 20fps and become very
jerky. 
Something I noticed also is that flightgear mem usage keep growing and
growing over time and it is much more apparent and quick when loading a
lot of tiles when fog is far. I had it to the point it filled quickly
the swap and flightgear was killed by the kernel.
I think most of the bad performance with lots of polygon implied by
far fog comes from the scene graph from ssg. Another case of bad
performance is terrain generated from 3 arcsec DEM with good resolution
when the terrain is moutains or hills like Hell's Canyon
(ftp://ftp.flightgear.org/pub/fgfs/Scenery/w120n40.tar.gz).


        

Test system:

Athlon 1900+ XP
512Mb RAM
Geforce 4 TI 4200
latest NVIDIA binary drivers 41.91

FlightGear compiled with:

- gcc 2.95.3
- FlightGear CVS
- SimGear CVS
- plib 1.6.0
- FlighGear and libs compiled with -g -pg
- no threaded tile loader support and no optimizations (-02)

Test run with options:

--disable-sound
--enable-auto-coordination
--aircraft=ufo
--start-date-lat=2002:01:10:11:00:00 
--disable-clouds

800x600x32 windowed
ufo at max speed during 83 seconds running time.


all percentages are in % of total execution time



- 67.8% in fgRenderFrame() [2]

    - 64.4% is from ssgCullAndDraw() [3] divided in:

        -  12.9% : ssgCullAndDraw() called by SGSky::preDraw() that is
          only used when skyblend is enabled (--enable-skyblend). It
          is enabled by default
        -  51.5%  : ssgCullAndDraw() of the whole scene graph (terrain
          + objects)

     or

        - 53.3% culling
        - 9.1 % drawing at the leaves of the scene graph
(ssgVtxTable::draw(void) [18])




- 20.7% in FGTileMgr::update() [8] most of which is due to
FGHitList::IntersectBranch(ssgBranch *, double (*)[3], double *,
     double *) [13]


Some observations:
        
- most of the time is spent in ssg and sg functions
- I'm not sure the culling take 53.3% of total time because the
profile data is quite hard sometimes to understand because of cycles
but culling still takes a lot of time.
- drawing the blended sky shouldn't be taking 12.9% of total time i'll 
see if I can fix that
- A fair amount of total time (14.1%) is passed in
sgFrustum::contains(sgSphere const *) const [15] the half of which
(7.05 %) is in the function itself and not its children (it might be
inlined function though).

Flat profile:


 %         the percentage of the total running time of the
time       program used by this function.

cumulative a running sum of the number of seconds accounted
 seconds   for by this function and those listed above it.

 self      the number of seconds accounted for by this
seconds    function alone.  This is the major sort for this
           listing.

calls      the number of times this function was invoked, if
           this function is profiled, else blank.
 
 self      the average number of milliseconds spent in this
ms/call    function per call, if this function is profiled,
           else blank.

 total     the average number of milliseconds spent in this
ms/call    function and its descendents per call, if this 
           function is profiled, else blank.

name       the name of the function.  This is the minor sort
           for this listing. The index shows the location of
           the function in the gprof listing. If the index is
           in parenthesis it shows where it would appear in
           the gprof listing if it were to be printed.


Each sample counts as 0.001 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls  ms/call  ms/call  name    
  7.05      5.84     5.84 26372747     0.00     0.00  sgFrustum::contains(sgSphere 
const *) const
  5.02     10.00     4.16  2996413     0.00     0.01  ssgBranch::cull(sgFrustum *, 
float (*)[3], int)
  3.87     13.20     3.20 69787344     0.00     0.00  ssgEntity::isDirtyBSphere(void)
  3.68     16.25     3.05 67381320     0.00     0.00  ssgList::getEntity(unsigned int)
  3.21     18.91     2.66  5662019     0.00     0.00  sgMultMat4(float (*)[3], float 
const (*)[3], float const (*)[3])
  3.05     21.44     2.53 33844511     0.00     0.00  ssgEntity::getTraversalMask(void)
  2.95     23.88     2.44 154571808     0.00     0.00  sgSphere::getRadius(void) const
  2.69     26.11     2.23     6292     0.35     2.51  
FGHitList::IntersectBranch(ssgBranch *, double (*)[3], double *, double *)
  2.62     28.28     2.17 83039779     0.00     0.00  sgScalarProductVec3(float const 
*, float const *)
  2.61     30.44     2.16 35003350     0.00     0.00  ssgEntity::cull_test(sgFrustum 
*, float (*)[3], int)
  2.42     32.44     2.00 171630869     0.00     0.00  sgSphere::getCenter(void) const
  2.21     34.27     1.83 27045892     0.00     0.00  sgXformPnt3(float *, float const 
*, float const (*)[3])
  2.18     36.08     1.81 69787327     0.00     0.00  ssgEntity::getBSphere(void)
  2.09     37.81     1.73  4554070     0.00     0.00  ssgSelector::select(unsigned int)
  2.07     39.53     1.72  8746726     0.00     0.00  ssgRangeSelector::cull(sgFrustum 
*, float (*)[3], int)
  1.97     41.16     1.63 29635594     0.00     0.00  ssgSimpleList::getNum(void)
  1.96     42.78     1.62  3527413     0.00     0.00  ssgSimpleState::apply(void)
  1.84     44.31     1.53 77163078     0.00     0.00  sgCopyVec4(float *, float const 
*)
  1.73     45.75     1.44 11449174     0.00     0.00  ssgTransform::cull(sgFrustum *, 
float (*)[3], int)
  1.41     46.91     1.17      121     9.65     9.65  ssgMakeMipMaps(unsigned char *, 
int, int, int)
  1.39     48.07     1.15 45449038     0.00     0.00  ssgBranch::getNextKid(void)
  1.36     49.20     1.13 45449038     0.00     0.00  ssgList::getNextEntity(void)
  1.35     50.32     1.12 41281058     0.00     0.00  sgdScalarProductVec3(double 
const *, double const *)
  1.07     51.20     0.89 23800923     0.00     0.00  ssgEntity::preTravTests(int *, 
int)
  1.03     52.06     0.85 10067964     0.00     0.00  sgdXformPnt3(double *, double 
const *, double const (*)[3])
  1.02     52.90     0.84 19029592     0.00     0.00  sgCopyMat4(float (*)[3], float 
const (*)[3])
  0.97     53.70     0.80  3476085     0.00     0.00  ssgVtxTable::draw_geometry(void)
  0.81     54.37     0.67 11769956     0.00     0.00  ssgLeaf::cull(sgFrustum *, float 
(*)[3], int)
  0.81     55.04     0.67 20863915     0.00     0.00  ssgSimpleList::raw_get(unsigned 
int)
  0.75     55.66     0.62 23797136     0.00     0.00  sgdSubVec3(double *, double 
const *, double const *)
  0.73     56.27     0.61 32925526     0.00     0.00  sgSphere::isEmpty(void) const
  0.72     56.87     0.59 27045892     0.00     0.00  sgSphere::orthoXform(float const 
(*)[3])
  0.70     57.44     0.58 38890517     0.00     0.00  ssgContext::getState(void)
  0.64     57.97     0.53 20779133     0.00     0.00  ssgBranch::getKid(int)
  0.58     58.46     0.48 19154123     0.00     0.00  ssgVtxTable::getNumVertices(void)
  0.57     58.93     0.47 26372747     0.00     0.00  ssgContext::isOrtho(void)
  0.53     59.37     0.44   295504     0.00     0.01  
FGTileEntry::prep_ssg_node(Point3D const &, float *, float)
  0.52     59.80     0.43    53980     0.01     0.08  FGHitList::IntersectLeaf(ssgLeaf 
*, double (*)[3], double *, double *, unsigned int)
  0.52     60.23     0.43  3476085     0.00     0.00  ssgVtxTable::draw(void)
  0.48     60.63     0.40    12836     0.03     0.03  calc_magvar(double, double, 
double, long, double *)
  0.40     60.96     0.33  5947250     0.00     0.00  ssgVtxTable::getVertex(int)
  0.39     61.28     0.32  5930928     0.00     0.00  _ssgPopMatrix(void)
  0.38     61.59     0.32  9889814     0.00     0.00  sgEqualVec3(float const *, float 
const *)
  0.38     61.91     0.32  5930928     0.00     0.00  _ssgPushMatrix(float (*)[3])
  0.38     62.22     0.31 24120909     0.00     0.00  basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> >::rep(void) const
  0.36     62.52     0.30  5577290     0.00     0.00  sgdNormaliseVec3(double *)
  0.34     62.80     0.28      121     2.32    14.01  ssgSGIHeader::ssgSGIHeader(char 
const *, ssgTextureInfo *)
  0.33     63.08     0.28     6415     0.04     0.12  
FGMaterialLib::load_next_deferred(void)
  0.32     63.34     0.26  5106052     0.00     0.00  
ssgStateSelector::getCurrentStep(void)
  0.31     63.59     0.25  8325800     0.00     0.00  sgLengthVec3(float const *)
  0.30     63.84     0.25 10043588     0.00     0.00  IN_RANGE(double *, double)
  0.30     64.08     0.24 10043588     0.00     0.00  sgdXformPnt3(double *, double 
const (*)[3])
  0.29     64.33     0.24    71456     0.00     0.00  ssgSGIHeader::getRow(unsigned 
char *, int, int)
  0.29     64.57     0.24 11892214     0.00     0.00  sgdScaleVec3(double *, double 
const *, double)
  0.29     64.81     0.24  9650703     0.00     0.00  ssgVertexArray::get(unsigned int)
  0.29     65.05     0.24  3476085     0.00     0.00  ssgLeaf::isTranslucent(void)
  0.27     65.27     0.23  4090182     0.00     0.00  _ssgDList::draw(void)
  0.26     65.48     0.21  8764372     0.00     0.00  basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> >::length(void) const
  0.25     65.69     0.21  1739378     0.00     0.00  
SGPropertyNode::incrementRef(void)
  0.25     65.90     0.20  5946295     0.00     0.00  basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> >::data(void) const
  0.24     66.10     0.20  3476085     0.00     0.00  ssgLeaf::preDraw(void)
  0.23     66.29     0.19  2667647     0.00     0.00  sgSphere::extend(sgSphere const 
*)
  0.22     66.48     0.18  1414153     0.00     0.00  
_Rb_tree_base_iterator::_M_increment(void)
  0.21     66.65     0.18 10107584     0.00     0.00  sgdSetVec3(double *, double, 
double, double)
  0.21     66.83     0.18  5577290     0.00     0.00  sgdLengthVec3(double const *)
  0.21     67.00     0.17  9656301     0.00     0.00  sgSqrt(float)
  0.20     67.17     0.17  5655589     0.00     0.00  sgPreMultMat4(float (*)[3], 
float const (*)[3])
  0.20     67.34     0.17  4199022     0.00     0.00  _ssgDList::setPushMatrix(float 
(*)[3])
  0.20     67.50     0.17  3476085     0.00     0.00  ssgContext::setCullface(int)
  0.18     67.66     0.15  1436165     0.00     0.00  leaf_in_range_callback(ssgEntity 
*, int)
  0.18     67.80     0.14   477239     0.00     0.00  
SGPropertyNode::hash_table::bucket::get_entry(char const *, bool)
  0.17     67.94     0.14  3564963     0.00     0.00  ssgTexCoordArray::get(unsigned 
int)
  0.17     68.08     0.14  8096716     0.00     0.00  ssgEntity::postTravTests(int)
  0.17     68.22     0.14  1330491     0.00     0.00  sgDistanceVec3(float const *, 
float const *)
  0.16     68.35     0.14  2553026     0.00     0.00  ssgStateSelector::apply(void)
  0.16     68.49     0.14  1519082     0.00     0.00  ssgEntity::dirtyBSphere(void)
  0.16     68.62     0.13   479427     0.00     0.00  
SGPropertyNode::hash_table::get(char const *)
  0.15     68.75     0.13  1848626     0.00     0.00  sgdDistanceSquaredVec3(double 
const *, double const *)
  0.15     68.88     0.12  6099173     0.00     0.00  sgdEqualVec3(double const *, 
double const *)
  0.15     69.00     0.12  5577290     0.00     0.00  sgdScaleVec3(double *, double)
  0.15     69.13     0.12  4098374     0.00     0.00  _ssgDList::setEmpty(void)
  0.15     69.25     0.12                             logbuf::overflow(int)
  0.15     69.38     0.12  2553026     0.00     0.00  
ssgStateSelector::isTranslucent(void)
  0.15     69.50     0.12   484630     0.00     0.00  
SGPropertyNode::hash_table::hashcode(char const *)
  0.15     69.62     0.12  5742345     0.00     0.00  sgdSetVec3(double *, float *)
  0.15     69.74     0.12  3480229     0.00     0.00  ssgVtxTable::getNumColours(void)
  0.14     69.86     0.12  4210062     0.00     0.00  ssgColourArray::get(unsigned int)
  0.14     69.98     0.12  1348572     0.00     0.00  ssgBranch::recalcBSphere(void)
  0.14     70.10     0.12   979523     0.00     0.00  __default_alloc_template<true, 
0>::allocate(unsigned int)
  0.14     70.21     0.12  1848626     0.00     0.00  sgdMakeNormal(double *, double 
const *, double const *, double const *)
  0.14     70.33     0.12   760912     0.00     0.00  basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> >::replace(unsigned int, 
unsigned int, unsigned int, char)
  0.14     70.44     0.11  8932541     0.00     0.00  basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> >::Rep::data(void)
  0.14     70.55     0.11  5545878     0.00     0.00  sgdSquare(double)
  0.13     70.66     0.11  5493085     0.00     0.00  sgCopyVec3(float *, float const 
*)
  0.13     70.77     0.11  3514581     0.00     0.00  ssgLeaf::hasState(void)
  0.13     70.88     0.11  7228162     0.00     0.00  ssgSimpleState::getTexture(void)
  0.13     70.98     0.10  1024967     0.00     0.00  basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> 
>::compare(basic_string<char, string_char_traits<char>, __default_alloc_template<true, 
0> > const &, unsigned int, unsigned int) const
  0.12     71.09     0.10  3515478     0.00     0.00  ssgLeaf::getState(void)
  0.12     71.19     0.10   807553     0.00     0.00  SGPropertyNode::getName(void) 
const
  0.12     71.29     0.10                             next_state
  0.12     71.39     0.10  1731906     0.00     0.00  _ssgLoadMatrix(float (*)[3])
  0.12     71.49     0.10                             init_genrand
  0.12     71.58     0.10  3565910     0.00     0.00  ssgState::preApply(void)
  0.11     71.68     0.09     6415     0.01     8.76  fgRenderFrame(void)
  0.11     71.77     0.09  1848626     0.00     0.00  sgdVectorProductVec3(double *, 
double const *, double const *)
  0.11     71.86     0.09  3502363     0.00     0.00  enable_00(void)
  0.11     71.95     0.09  2215365     0.00     0.00  isZeroAreaTri(double (*)[2])
  0.11     72.04     0.09  3476085     0.00     0.00  ssgVtxTable::getNumNormals(void)
  0.11     72.13     0.09   264510     0.00     0.00  fntTexFont::low_putch(float *, 
float, float, char)
  0.10     72.21     0.08  3476657     0.00     0.00  ssgState::isTranslucent(void)
  0.10     72.30     0.08  1882073     0.00     0.00  basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> >::operator[](unsigned 
int) const
  0.10     72.38     0.08  3476675     0.00     0.00  ssgLeaf::getCullFace(void)
  0.10     72.46     0.08   618481     0.00     0.00  
SGPropertyNode::getDoubleValue(void) const
  0.10     72.55     0.08   429323     0.00     0.00  ssgCutout::cull(sgFrustum *, 
float (*)[3], int)
  0.10     72.63     0.08  2553598     0.00     0.00  sgEqualVec4(float const *, float 
const *)
  0.10     72.71     0.08    32080     0.00     0.06  _ssgDrawDList(void)
  0.10     72.79     0.08     6417     0.01     0.02  SGSkyDome::repaint(float *, 
float *, double, double)
  0.10     72.87     0.08  4126320     0.00     0.00  sgSquare(float)



                     Call graph (explanation follows)
 This table describes the call tree of the program, and was sorted by
 the total amount of time spent in each function and its children.

 Each entry in this table consists of several lines.  The line with the
 index number at the left hand margin lists the current function.
 The lines above it list the functions that called this function,
 and the lines below it list the functions this one called.
 This line lists:
     index      A unique number given to each element of the table.
                Index numbers are sorted numerically.
                The index number is printed next to every function name so
                it is easier to look up where the function in the table.

     % time     This is the percentage of the `total' time that was spent
                in this function and its children.  Note that due to
                different viewpoints, functions excluded by options, etc,
                these numbers will NOT add up to 100%.

     self       This is the total amount of time spent in this function.

     children   This is the total amount of time propagated into this
                function by its children.

     called     This is the number of times the function was called.
                If the function called itself recursively, the number
                only includes non-recursive calls, and is followed by
                a `+' and the number of recursive calls.

     name       The name of the current function.  The index number is
                printed after it.  If the function is a member of a
                cycle, the cycle number is printed between the
                function's name and the index number.


 For the function's parents, the fields have the following meanings:

     self       This is the amount of time that was propagated directly
                from the function into this parent.

     children   This is the amount of time that was propagated from
                the function's children into this parent.

     called     This is the number of times this parent called the
                function `/' the total number of times the function
                was called.  Recursive calls to the function are not
                included in the number after the `/'.

     name       This is the name of the parent.  The parent's index
                number is printed after it.  If the parent is a
                member of a cycle, the cycle number is printed between
                the name and the index number.

 If the parents of the function cannot be determined, the word
 `<spontaneous>' is printed in the `name' field, and all the other
 fields are blank.

 For the function's children, the fields have the following meanings:

     self       This is the amount of time that was propagated directly
                from the child into the function.

     children   This is the amount of time that was propagated from the
                child's children to the function.

     called     This is the number of times the function called
                this child `/' the total number of times the child
                was called.  Recursive calls by the child are not
                listed in the number after the `/'.

     name       This is the name of the child.  The child's index
                number is printed after it.  If the child is a
                member of a cycle, the cycle number is printed
                between the name and the index number.

 If there are any cycles (circles) in the call graph, there is an
 entry for the cycle-as-a-whole.  This entry shows who called the
 cycle (as parents) and the members of the cycle (as children.)
 The `+' recursive calls entry shows the number of function calls that
 were internal to the cycle, and the calls entry for each member shows,
 for that member, how many times it was called from other members of
 the cycle.

                     

granularity: each sample hit covers 4 byte(s) for 0.00% of 82.86 seconds

index % time    self  children    called     name
                                                 <spontaneous>
[1]     95.7    0.07   79.24                 fgMainLoop(void) [1]
                0.09   56.10    6415/6415        fgRenderFrame(void) [2]
                0.01   17.16    6415/6416        FGTileMgr::update(FGLocation *, 
double, double *) [8]
                0.03    1.66    6415/6415        FGTileMgr::prep_ssg_nodes(FGLocation 
*, float) [50]
                0.02    1.67    6414/6414        fgUpdateTimeDepCalcs(void) [51]
                0.28    0.48    6415/6415        
FGMaterialLib::load_next_deferred(void) [85]
                0.00    0.69    6415/6415        FGSubsystemMgr::update(double) [87]
                0.00    0.20    6415/6415        SGMagVar::update(double, double, 
double, double) [181]
                0.01    0.14    6415/6415        FGEnvironmentMgr::update(double) [218]
                0.01    0.13    6415/6415        FGATCMgr::update(double) [222]
                0.00    0.12   19245/135571      fgGetBool(char const *, bool) [80]
                0.00    0.12   19245/79290       fgGetInt(char const *, int) [104]
                0.01    0.07   32075/618817      SGPropertyNode::getDoubleValue(void) 
const <cycle 2> [264]
                0.02    0.05    6415/6416        SGTime::update(double, double, long, 
long) [338]
                0.00    0.05    6415/6416        FGViewer::get_absolute_view_pos(void) 
[358]
                0.01    0.02    6415/6415        FGIO::update(double) [548]
                0.00    0.01    6415/618817      fgGetDouble(char const *, double) 
<cycle 2> [708]
                0.01    0.00    6415/6415        fgGetTimeInterval(void) [665]
                0.00    0.00   19245/250446      SGPropertyNode::getBoolValue(void) 
const [262]
                0.01    0.00   12803/12803       FGInterface::getACModel(void) const 
[931]
                0.00    0.00   12803/19219       FGScenery::get_next_center(void) 
const [1052]
                0.00    0.00   12809/12809       FGLocation::get_cur_elev_m(void) 
[1190]
                0.00    0.00    6415/6420        SGPropertyNode::getLongValue(void) 
const [1192]
                0.00    0.00    6388/6393        FGModelPlacement::getFGLocation(void) 
[1201]
                0.00    0.00   32292/180027      sglog(void) [664]
                0.00    0.00   12830/788750      FGGlobals::get_current_view(void) 
const [223]
                0.00    0.00   38465/38466       FGViewer::getFGLocation(void) const 
[1307]
                0.00    0.00    6415/6418        FGGlobals::get_io(void) const [1325]
                0.00    0.00    6388/6393        FGAircraftModel::get3DModel(void) 
[1336]
                0.00    0.00    6416/21438       SGTimeStamp::stamp(void) [930]
                0.00    0.00    6415/19477       operator-(SGTimeStamp const &, 
SGTimeStamp const &) [1017]
                0.00    0.00   12830/23808       SGTime::get_cur_time(void) const 
[1184]
                0.00    0.00   38384/891294      FGGlobals::get_scenery(void) const 
[499]
                0.00    0.00   32292/180026      logstream::operator<<(loglevel const 
&) [955]
                0.00    0.00   12830/12833       FGGlobals::get_tile_mgr(void) const 
[1527]
                0.00    0.00    6415/6417        FGGlobals::get_environment_mgr(void) 
[1545]
                0.00    0.00    6415/6423        FGGlobals::get_subsystem_mgr(void) 
const [1540]
                0.00    0.00    6388/19216       FGInterface::get_inited(void) const 
[1320]
                0.00    0.00   12830/43755       FGGlobals::get_time_params(void) 
const [1305]
                0.00    0.00    6410/98624       FGInterface::get_Altitude(void) const 
[808]
                0.00    0.00   25581/782273      FGScenery::get_cur_elev(void) const 
[662]
                0.00    0.00   12803/12803       FGLocation::set_tile_center(Point3D) 
[1741]
                0.00    0.00   32292/180026      loglevel::loglevel(sgDebugClass, 
sgDebugPriority) [1665]
                0.00    0.00     205/6129        FGGeneral::get_frame_rate(void) const 
[1204]
                0.00    0.00       5/531         fgGetNode(char const *, bool) [1161]
                0.00    0.00   12830/12831       FGGlobals::get_warp_delta(void) const 
[3085]
                0.00    0.00   12778/12779       FGLocation::set_cur_elev_m(double) 
[3086]
                0.00    0.00    6415/12829       SGTimeStamp::operator=(SGTimeStamp 
const &) [10480]
                0.00    0.00    6415/6415        FGGlobals::inc_sim_time_sec(double) 
[3145]
                0.00    0.00    6415/6418        FGGlobals::get_warp(void) const [3120]
                0.00    0.00    6415/6415        SGTime::getJD(void) const [3140]
                0.00    0.00    6415/19197       FGGlobals::get_mag(void) const [3065]
                0.00    0.00    6415/6416        FGGlobals::get_ATC_mgr(void) const 
[3132]
                0.00    0.00     205/205         FGGeneral::set_frame_rate(int) [3397]
                0.00    0.00      11/12          FGInterface::set_Altitude(double) 
[3658]
-----------------------------------------------
                0.09   56.10    6415/6415        fgMainLoop(void) [1]
[2]     67.8    0.09   56.10    6415         fgRenderFrame(void) [2]
                0.02   42.64   25664/32080       ssgCullAndDraw(ssgRoot *) [3]
                0.00   10.67    6416/6416        SGSky::preDraw(void) [17]
                0.00    0.45   70578/135571      fgGetBool(char const *, bool) [80]
                0.01    0.40    6416/6416        puDisplay(void) [118]
                0.00    0.38    6416/6416        SGSky::reposition(float *, float *, 
float *, double, double, double, double, double, double, double, double, double, 
double, double) [131]
                0.01    0.25    6416/6416        fgCockpitUpdate(void) [159]
                0.01    0.24    6416/6417        fgReshape(int, int) [164]
                0.01    0.22    6416/6416        FGPanel::update(double) [171]
                0.01    0.19    6416/6416        SGSky::repaint(float *, float *, 
double, double, int, double (*)[2], int, double (*)[2]) [185]
                0.00    0.16   25664/79290       fgGetInt(char const *, int) [104]
                0.01    0.07    6417/6417        FGEventMgr::update(double) [312]
                0.01    0.04      32/32112       ssgBranch::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [6]
                0.00    0.04    6416/6442        fgGetString(char const *, char const 
*) [415]
                0.00    0.03   19248/19248       ssgSetNearFar(float, float) [466]
                0.00    0.03   12833/618817      fgGetDouble(char const *, double) 
<cycle 2> [708]
                0.01    0.02    6416/6416        SGSky::modify_vis(float, float) [531]
                0.01    0.01    6416/6416        FGAircraftModel::draw(void) [600]
                0.01    0.01    6416/38497       ssgSimpleState::force(void) [270]
                0.00    0.01    6416/6416        FGATCDisplay::update(double) [711]
                0.01    0.01   12832/3527413     ssgSimpleState::apply(void) [27]
                0.00    0.01    6416/12834       ssgSetFOV(float, float) [568]
                0.00    0.01     126/132         fgSplashUpdate(double, float) [828]
                0.00    0.01    6416/6416        fgUpdate3DPanels(void) [879]
                0.01    0.00    6416/12834       FGViewer::get_v_fov(void) [712]
                0.00    0.01    6416/6416        ssgSetCamera(float (*)[3]) [916]
                0.01    0.00   38496/38497       ssgGetLight(int) [928]
                0.00    0.00    6416/6417        ssgLight::setPosition(float const *) 
[986]
                0.00    0.00    6416/6417        SGEphemeris::getStars(void) [1009]
                0.00    0.00    6416/6506        FGScenery::get_rwy_lights_root(void) 
const [1090]
                0.00    0.00    6416/6506        FGScenery::get_gnd_lights_root(void) 
const [1089]
                0.00    0.00    6416/6417        FGViewer::get_VIEW(void) [1168]
                0.00    0.00    6416/6416        FGControls::update(double) [1196]
                0.00    0.00    6416/6417        SGEphemeris::getNumStars(void) const 
[1193]
                0.00    0.00    6416/6456        FGViewer::get_view_pos(void) [1191]
                0.00    0.00   51328/57766       FGGlobals::get_ephem(void) const 
[1180]
                0.00    0.00    6416/6416        SGEphemeris::getSunDeclination(void) 
const [1256]
                0.00    0.00    6416/6416        
SGEphemeris::getSunRightAscension(void) const [1332]
                0.00    0.00    6416/6416        FGModelMgr::draw(void) [1328]
                0.00    0.00    6416/6417        SGEphemeris::getNumPlanets(void) 
const [1326]
                0.00    0.00   32080/32080       ssgLight::setColour(unsigned int, 
float const *) [1395]
                0.00    0.00   44944/891294      FGGlobals::get_scenery(void) const 
[499]
                0.00    0.00    6416/19219       FGScenery::get_next_center(void) 
const [1052]
                0.00    0.00    6416/6416        SGEphemeris::getMoonDeclination(void) 
const [1427]
                0.00    0.00    6416/19757       FGGlobals::get_sim_time_sec(void) 
const [1084]
                0.00    0.00   12832/98624       FGInterface::get_Altitude(void) const 
[808]
                0.00    0.00    6417/788750      FGGlobals::get_current_view(void) 
const [223]
                0.00    0.00    6448/6448        FGScenery::get_scene_graph(void) 
const [1538]
                0.00    0.00    6417/6417        fgUpdateProps(void) [1542]
                0.00    0.00    6416/6417        FGGlobals::get_ATC_display(void) 
const [1544]
                0.00    0.00    6416/6431        SGTime::getGst(void) const [1539]
                0.00    0.00     212/618817      SGPropertyNode::getDoubleValue(void) 
const <cycle 2> [264]
                0.00    0.00    6416/12832       FGGlobals::get_model_mgr(void) [1529]
                0.00    0.00    6416/12834       FGViewer::get_h_fov(void) [1526]
                0.00    0.00    6416/12838       FGGlobals::get_aircraft_model(void) 
[1524]
                0.00    0.00    6416/60634       FGGlobals::get_controls(void) const 
[1112]
                0.00    0.00    6416/43755       FGGlobals::get_time_params(void) 
const [1305]
                0.00    0.00    6416/6416        FGScenery::set_center(Point3D) [1821]
                0.00    0.00    6416/756171      FGViewer::getAltitudeASL_ft(void) 
const [551]
                0.00    0.00    6416/782273      FGScenery::get_cur_elev(void) const 
[662]
                0.00    0.00      32/12867       sgFrustum::setFOV(float, float) [585]
                0.00    0.00      32/33          sgFrustum::sgFrustum(void) [2058]
                0.00    0.00      32/19281       sgFrustum::setNearFar(float, float) 
[508]
                0.00    0.00       4/531         fgGetNode(char const *, bool) [1161]
                0.00    0.00      32/32          ssgGetModelviewMatrix(float (*)[3]) 
[2439]
                0.00    0.00    6416/6416        SGSky::set_visibility(float) [3137]
                0.00    0.00    6416/6417        SGEphemeris::getPlanets(void) [3122]
                0.00    0.00    6416/6416        
SGEphemeris::getMoonRightAscension(void) const [3129]
                0.00    0.00    6416/6416        FGViewer::getLatitude_deg(void) const 
[3127]
                0.00    0.00    6416/6416        FGViewer::getLongitude_deg(void) 
const [3128]
                0.00    0.00    6416/6436        FGViewer::get_world_up(void) [3114]
                0.00    0.00    6416/6416        FGViewer::get_zero_elev(void) [3136]
                0.00    0.00    6416/6506        FGScenery::get_taxi_lights_root(void) 
const [3113]
                0.00    0.00       1/1           FGGlobals::set_sim_time_sec(double) 
[4193]
-----------------------------------------------
                0.01   10.66    6416/32080       SGSky::preDraw(void) [17]
                0.02   42.64   25664/32080       fgRenderFrame(void) [2]
[3]     64.4    0.03   53.31   32080         ssgCullAndDraw(ssgRoot *) [3]
                0.01   51.11   32080/32080       ssgContext::cull(ssgRoot *) [5]
                0.08    1.93   32080/32080       _ssgDrawDList(void) [41]
                0.01    0.09   32080/32080       ssgForceBasicState(void) [274]
                0.01    0.02   32080/32080       
ssgContext::loadProjectionMatrix(void) [553]
                0.02    0.00  513280/513280      ssgLight::isHeadlight(void) [596]
                0.01    0.00  256640/288720      ssgLight::setup(void) [755]
                0.01    0.00   32080/32080       ssgContext::applyClipPlanes(void) 
[876]
                0.00    0.00   32080/32080       _ssgEndOfFrameCleanup(void) [1214]
                0.00    0.00   32080/32080       ssgContext::loadModelviewMatrix(void) 
[1310]
                0.00    0.00   32080/32080       ssgContext::removeClipPlanes(void) 
[1311]
                0.00    0.00   32080/32080       _ssgStartOfFrameInit(void) [10443]
-----------------------------------------------
[4]     61.8    7.41   43.76   32112+23640003 <cycle 6 as a whole> [4]
                4.16   18.28 2996413+96516       ssgBranch::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [6]
                1.44   15.60 11449174+32080       ssgTransform::cull(sgFrustum *, 
float (*)[3], int) <cycle 6> [9]
                1.72    9.36 8746726             ssgRangeSelector::cull(sgFrustum *, 
float (*)[3], int) <cycle 6> [16]
                0.02    0.05   50479+212         ssgSelector::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [319]
-----------------------------------------------
                0.01   51.11   32080/32080       ssgCullAndDraw(ssgRoot *) [3]
[5]     61.7    0.01   51.11   32080         ssgContext::cull(ssgRoot *) [5]
                7.40   43.71   32080/32112       ssgBranch::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [6]
-----------------------------------------------
                               96516             ssgBranch::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [6]
                              429323             ssgCutout::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [101]
                              574071             ssgTransform::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [9]
                             1960907             ssgRangeSelector::cull(sgFrustum *, 
float (*)[3], int) <cycle 6> [16]
                0.01    0.04      32/32112       fgRenderFrame(void) [2]
                7.40   43.71   32080/32112       ssgContext::cull(ssgRoot *) [5]
[6]     27.1    4.16   18.28 2996413+96516   ssgBranch::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [6]
                0.64   12.72 11302137/11769956     ssgLeaf::cull(sgFrustum *, float 
(*)[3], int) [14]
                0.66    1.83 26116592/45449038     ssgBranch::getNextKid(void) [21]
                0.19    1.55 3092929/35003350     ssgEntity::cull_test(sgFrustum *, 
float (*)[3], int) [7]
                0.12    0.39 3092929/23800923     ssgEntity::preTravTests(int *, int) 
[23]
                0.05    0.10 2115097/20779133     ssgBranch::getKid(int) [59]
                0.04    0.00 2115097/8096716     ssgEntity::postTravTests(int) [224]
                             11372168             ssgTransform::cull(sgFrustum *, 
float (*)[3], int) <cycle 6> [9]
                             3339143             ssgRangeSelector::cull(sgFrustum *, 
float (*)[3], int) <cycle 6> [16]
                                6628             ssgSelector::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [319]
                               96516             ssgBranch::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [6]
-----------------------------------------------
                0.00    0.03   50691/35003350     ssgSelector::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [319]
                0.19    1.55 3092929/35003350     ssgBranch::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [6]
                0.54    4.38 8746726/35003350     ssgRangeSelector::cull(sgFrustum *, 
float (*)[3], int) <cycle 6> [16]
                0.70    5.68 11343048/35003350     ssgTansform::cull(sgFrustum *, 
float (*)[3], int) <cycle 6> [9]
                0.73    5.89 11769956/35003350     ssgLeaf::cull(sgFrustum *, float 
(*)[3], int) [14]
[7]     23.7    2.16   17.52 35003350         ssgEntity::cull_test(sgFrustum *, float 
(*)[3], int) [7]
                5.84    5.81 26372747/26372747     sgFrustum::contains(sgSphere const 
*) const [15]
                0.79    1.75 26935094/67119697     ssgEntity::getBSphere(void) <cycle 
8> [20]
                0.58    1.78 26372747/27045892     sgSphere::orthoXform(float const 
(*)[3]) [38]
                0.50    0.00 26935094/32925526     sgSphere::isEmpty(void) const [96]
                0.47    0.00 26372747/26372747     ssgContext::isOrtho(void) [108]
-----------------------------------------------
                0.00    0.00       1/6416        FGTileMgr::update(double) [1244]
                0.01   17.16    6415/6416        fgMainLoop(void) [1]
[8]     20.7    0.01   17.17    6416         FGTileMgr::update(FGLocation *, double, 
double *) [8]
                0.01   15.87    6318/6318        
FGTileMgr::updateCurrentElevAtPos(double *, Point3D) [10]
                0.01    1.25    6416/6416        FGTileMgr::update_queues(void) [66]
                0.00    0.02    6416/6886        FGNewCache::get_tile(SGBucket const 
&) [588]
                0.00    0.00      15/30          FGTileMgr::schedule_needed(double, 
SGBucket) [1049]
                0.00    0.00    6415/6415        operator==(SGBucket const &, SGBucket 
const &) [1365]
                0.00    0.00    6318/25666       FGScenery::get_center(void) const 
[865]
                0.00    0.00    6416/69677       SGBucket::set_bucket(double, double) 
[654]
                0.00    0.00    6416/6416        FGScenery::set_next_center(Point3D) 
[1455]
                0.00    0.00    6418/180027      sglog(void) [664]
                0.00    0.00    6414/855813      Point3D::Point3D(Point3D const &) 
[322]
                0.00    0.00   12734/891294      FGGlobals::get_scenery(void) const 
[499]
                0.00    0.00    6418/180026      logstream::operator<<(loglevel const 
&) [955]
                0.00    0.00       1/6417        FGTileLoader::update(void) [67]
                0.00    0.00       1/1           FGTileMgr::initialize_queue(void) 
[1898]
                0.00    0.00    6418/180026      loglevel::loglevel(sgDebugClass, 
sgDebugPriority) [1665]
                0.00    0.00    6416/12832       FGLocation::getLongitude_deg(void) 
const [3083]
                0.00    0.00    6416/12832       FGLocation::getLatitude_deg(void) 
const [3082]
                0.00    0.00       2/316         Point3D::Point3D(double) [10647]
-----------------------------------------------
                               32080             ssgTransform::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [9]
                                6416             ssgSelector::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [319]
                               70590             ssgRangeSelector::cull(sgFrustum *, 
float (*)[3], int) <cycle 6> [16]
                             11372168             ssgBranch::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [6]
[9]     20.6    1.44   15.60 11449174+32080   ssgTransform::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [9]
                0.70    5.68 11343048/35003350     ssgEntity::cull_test(sgFrustum *, 
float (*)[3], int) [7]
                0.16    3.26 5501605/5655589     sgPreMultMat4(float (*)[3], float 
const (*)[3]) [24]
                0.43    1.43 11481254/23800923     ssgEntity::preTravTests(int *, int) 
[23]
                0.29    0.96 5501605/5930928     _ssgPushMatrix(float (*)[3]) [63]
                0.24    0.44 5501605/19029592     sgCopyMat4(float (*)[3], float const 
(*)[3]) [39]
                0.16    0.45 6481553/45449038     ssgBranch::getNextKid(void) [21]
                0.03    0.53  467819/11769956     ssgLeaf::cull(sgFrustum *, float 
(*)[3], int) [14]
                0.14    0.25 5501605/20779133     ssgBranch::getKid(int) [59]
                0.30    0.05 5501605/5930928     _ssgPopMatrix(void) [133]
                0.09    0.00 5501605/8096716     ssgEntity::postTravTests(int) [224]
                             5407583             ssgRangeSelector::cull(sgFrustum *, 
float (*)[3], int) <cycle 6> [16]
                              574071             ssgBranch::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [6]
                               32080             ssgTransform::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [9]
-----------------------------------------------
                0.01   15.87    6318/6318        FGTileMgr::update(FGLocation *, 
double, double *) [8]
[10]    19.2    0.01   15.87    6318         FGTileMgr::updateCurrentElevAtPos(double 
*, Point3D) [10]
                0.01   15.85    6292/6292        fgCurrentElev(double *, double *, 
FGHitList *, double *, double *, double *) [11]
                0.00    0.00    6318/6318        FGScenery::set_cur_radius(double) 
[1339]
                0.00    0.00   18954/891294      FGGlobals::get_scenery(void) const 
[499]
                0.00    0.00   18954/1007650     Point3D::operator[](int) [683]
                0.00    0.00    6318/10107584     sgdSetVec3(double *, double, double, 
double) [194]
                0.00    0.00    6318/6318        FGScenery::set_cur_normal(double *) 
[2050]
                0.00    0.00    6318/6318        FGScenery::set_cur_elev(double) [3157]
-----------------------------------------------
                0.01   15.85    6292/6292        
FGTileMgr::updateCurrentElevAtPos(double *, Point3D) [10]
[11]    19.1    0.01   15.85    6292         fgCurrentElev(double *, double *, 
FGHitList *, double *, double *, double *) [11]
                0.00   15.82    6292/6292        FGHitList::Intersect(ssgBranch *, 
double *, double *) [12]
                0.01    0.00    6292/16526       sgGeocToGeod(double, double, double 
*, double *, double *) [642]
                0.00    0.00    6292/6292        FGHitList::num_hits(void) [1028]
                0.00    0.00    6292/16526       sgCartToPolar3d(Point3D const &) [724]
                0.00    0.00    6292/12708       sgSetVec3(float *, double *) [1087]
                0.00    0.00    6292/6382        FGScenery::get_terrain_branch(void) 
const [1338]
                0.00    0.00    6292/6292        FGHitList::get_point(int) [1428]
                0.00    0.00    6292/6292        operator+(Point3D const &, double 
const *) [1735]
                0.00    0.00    6292/6292        FGHitList::get_normal(int) [1744]
                0.00    0.00    6292/735761      Point3D::operator=(Point3D const &) 
[513]
                0.00    0.00    6292/110376      Point3D::Point3D(void) [1069]
                0.00    0.00    6292/891294      FGGlobals::get_scenery(void) const 
[499]
                0.00    0.00    6292/23797136     sgdSubVec3(double *, double const *, 
double const *) [93]
                0.00    0.00   12584/325326      Point3D::radius(void) const [1071]
                0.00    0.00    6292/546113      Point3D::Point3D(double, double, 
double) [741]
                0.00    0.00    6292/5742345     sgdSetVec3(double *, float *) [247]
                0.00    0.00   12584/844565      sgdCopyVec3(double *, double const *) 
[869]
                0.00    0.00    6292/245016      Point3D::lat(void) const [1368]
-----------------------------------------------
                0.00   15.82    6292/6292        fgCurrentElev(double *, double *, 
FGHitList *, double *, double *, double *) [11]
[12]    19.1    0.00   15.82    6292         FGHitList::Intersect(ssgBranch *, double 
*, double *) [12]
                2.23   13.59    6292/6292        FGHitList::IntersectBranch(ssgBranch 
*, double (*)[3], double *, double *) [13]
                0.00    0.01    6292/6293        FGHitList::clear(void) [957]
                0.00    0.00    6292/6292        sgdMakeIdentMat4(double (*)[3]) [1203]
-----------------------------------------------
                              494914             FGHitList::IntersectBranch(ssgBranch 
*, double (*)[3], double *, double *) [13]
                2.23   13.59    6292/6292        FGHitList::Intersect(ssgBranch *, 
double *, double *) [12]
[13]    19.1    2.23   13.59    6292+494914  FGHitList::IntersectBranch(ssgBranch *, 
double (*)[3], double *, double *) [13]
                0.43    3.75   53980/53980       FGHitList::IntersectLeaf(ssgLeaf *, 
double (*)[3], double *, double *, unsigned int) [22]
                1.18    2.61 40174352/67119697     ssgEntity::getBSphere(void) <cycle 
8> [20]
                0.24    0.85 10043588/10043588     sgdXformPnt3(double *, double const 
(*)[3]) [76]
                0.25    0.70 10043588/45449038     ssgBranch::getNextKid(void) [21]
                0.75    0.00 10043588/33844511     ssgEntity::getTraversalMask(void) 
[36]
                0.54    0.00 20087176/41281058     sgdScalarProductVec3(double const 
*, double const *) [75]
                0.53    0.00 20087176/23797136     sgdSubVec3(double *, double const 
*, double const *) [93]
                0.25    0.27 10043588/10043588     IN_RANGE(double *, double) [102]
                0.35    0.00 30130764/171630869     sgSphere::getCenter(void) const 
[42]
                0.20    0.00 10043588/11892214     sgdScaleVec3(double *, double const 
*, double) [166]
                0.18    0.00 10043588/10107584     sgdSetVec3(double *, double, 
double, double) [194]
                0.16    0.00 10043588/154571808     sgSphere::getRadius(void) const 
[37]
                0.03    0.05  453627/453627      sgdCopyMat4(double (*)[3], double 
const (*)[3]) [315]
                0.01    0.04  494914/579975      ssgTypeTransform(void) [368]
                0.04    0.00   41287/41287       sgMultMat4(double (*)[3], double 
(*)[3], float (*)[3]) [417]
                0.01    0.02  602874/618694      ssgBase::isAKindOf(int) [447]
                0.01    0.02  501206/20779133     ssgBranch::getKid(int) [59]
                0.01    0.02  494914/495543      ssgBase::isA(int) [467]
                0.01    0.03  548894/1491860     ssgTypeBranch(void) [280]
                0.00    0.01   41287/41315       ssgBaseTransform::getTransform(float 
(*)[3]) [833]
                0.01    0.00    9042/9042        sgdTransposeNegateMat4(double (*)[3], 
double const (*)[3]) [849]
                0.00    0.00   53980/90525       ssgTypeLeaf(void) [975]
                0.00    0.00   18084/10067964     sgdXformPnt3(double *, double const 
*, double const (*)[3]) [82]
                0.00    0.00   53980/210011      ssgLeaf::getPrimitiveType(void) [1000]
                              494914             FGHitList::IntersectBranch(ssgBranch 
*, double (*)[3], double *, double *) [13]
-----------------------------------------------
                0.03    0.53  467819/11769956     ssgTransform::cull(sgFrustum *, 
float (*)[3], int) <cycle 6> [9]
                0.64   12.72 11302137/11769956     ssgBranch::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [6]
[14]    16.8    0.67   13.25 11769956         ssgLeaf::cull(sgFrustum *, float (*)[3], 
int) [14]
                0.73    5.89 11769956/35003350     ssgEntity::cull_test(sgFrustum *, 
float (*)[3], int) [7]
                0.34    5.64 2749889/3476085     ssgVtxTable::draw(void) [18]
                0.24    0.34 3476085/3476085     ssgLeaf::isTranslucent(void) [97]
                0.05    0.02  726196/726196      _ssgDrawLeaf(ssgLeaf *) [316]
-----------------------------------------------
                5.84    5.81 26372747/26372747     ssgEntity::cull_test(sgFrustum *, 
float (*)[3], int) [7]
[15]    14.1    5.84    5.81 26372747         sgFrustum::contains(sgSphere const *) 
const [15]
                2.24    0.00 141712672/154571808     sgSphere::getRadius(void) const 
[37]
                1.95    0.00 74616760/83039779     sgScalarProductVec3(float const *, 
float const *) [40]
                1.62    0.00 138373958/171630869     sgSphere::getCenter(void) const 
[42]
-----------------------------------------------
                             3339143             ssgBranch::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [6]
                             5407583             ssgTransform::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [9]
[16]    13.4    1.72    9.36 8746726         ssgRangeSelector::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [16]
                0.54    4.38 8746726/35003350     ssgEntity::cull_test(sgFrustum *, 
float (*)[3], int) [7]
                1.66    0.00 4367971/4554070     ssgSelector::select(unsigned int) [45]
                0.33    1.09 8746726/23800923     ssgEntity::preTravTests(int *, int) 
[23]
                0.29    0.51 11240530/20779133     ssgBranch::getKid(int) [59]
                0.21    0.30 6872642/8325800     sgLengthVec3(float const *) [94]
                0.06    0.00 2504671/2504671     ssgSelector::selectStep(unsigned int) 
[357]
                             1960907             ssgBranch::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [6]
                              429323             ssgCutout::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [101]
                               70590             ssgTransform::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [9]
                               43851             ssgSelector::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [319]
-----------------------------------------------
                0.00   10.67    6416/6416        fgRenderFrame(void) [2]
[17]    12.9    0.00   10.67    6416         SGSky::preDraw(void) [17]
                0.01   10.66    6416/32080       ssgCullAndDraw(ssgRoot *) [3]
-----------------------------------------------
                0.09    1.49  726196/3476085     _ssgDList::draw(void) [43]
                0.34    5.64 2749889/3476085     ssgLeaf::cull(sgFrustum *, float 
(*)[3], int) [14]
[18]     9.1    0.43    7.13 3476085         ssgVtxTable::draw(void) [18]
                0.80    1.97 3476085/3476085     ssgVtxTable::draw_geometry(void) [30]
                0.14    2.42 2553026/2553026     ssgStateSelector::apply(void) [35]
                0.43    0.40  923059/3527413     ssgSimpleState::apply(void) [27]
                0.20    0.29 3476085/3476085     ssgLeaf::preDraw(void) [105]
                0.09    0.19 3476085/19154123     ssgVtxTable::getNumVertices(void) 
[55]
                0.11    0.00 3476085/3514581     ssgLeaf::hasState(void) [259]
                0.10    0.00 3476085/3515478     ssgLeaf::getState(void) [267]
                0.00    0.00   12832/12832       sgStarPostDraw(ssgEntity *) [1530]
                0.00    0.00   25664/25664       sgSkyDomePostDraw(ssgEntity *) [3046]
-----------------------------------------------
[19]     7.6    1.97    4.36 67119697+5191600 <cycle 8 as a whole> [19]
                1.81    3.20 69787327             ssgEntity::getBSphere(void) <cycle 
8> [20]
                0.12    1.07 1348572             ssgBranch::recalcBSphere(void) <cycle 
8> [72]
-----------------------------------------------
                             2667647             ssgBranch::recalcBSphere(void) <cycle 
8> [72]
                0.00    0.00   10234/67119697     gen_random_surface_objects(ssgLeaf 
*, ssgBranch *, Point3D *, basic_string<char, string_char_traits<char>, 
__default_alloc_template<true, 0> > const &) [202]
                0.79    1.75 26935094/67119697     ssgEntity::cull_test(sgFrustum *, 
float (*)[3], int) [7]
                1.18    2.61 40174352/67119697     
FGHitList::IntersectBranch(ssgBranch *, double (*)[3], double *, double *) [13]
[20]     6.0    1.81    3.20 69787327         ssgEntity::getBSphere(void) <cycle 8> 
[20]
                3.20    0.00 69787327/69787344     ssgEntity::isDirtyBSphere(void) [25]
                0.00    0.00   29315/29315       
DummyBSphereEntity::recalcBSphere(void) [1511]
                             1175391             ssgTransform::recalcBSphere(void) 
<cycle 8> [237]
                              173164             ssgBranch::recalcBSphere(void) <cycle 
8> [72]
-----------------------------------------------
                0.00    0.00      14/45449038     ssgFlatten(ssgEntity *) [1728]
                0.00    0.00     309/45449038     strip(ssgEntity *) [1971]
                0.00    0.00     324/45449038     ssgStripify(ssgEntity *) [405]
                0.00    0.00     618/45449038     flatten(ssgBranch *, ssgEntity *, 
float (*)[3]) [1754]
                0.00    0.01  138393/45449038     ssgSelector::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [319]
                0.07    0.19 2667647/45449038     ssgBranch::recalcBSphere(void) 
<cycle 8> [72]
                0.16    0.45 6481553/45449038     ssgTransform::cull(sgFrustum *, 
float (*)[3], int) <cycle 6> [9]
                0.25    0.70 10043588/45449038     
FGHitList::IntersectBranch(ssgBranch *, double (*)[3], double *, double *) [13]
                0.66    1.83 26116592/45449038     ssgBranch::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [6]
[21]     5.2    1.15    3.19 45449038         ssgBranch::getNextKid(void) [21]
                1.13    2.06 45449038/45449038     ssgList::getNextEntity(void) [26]
-----------------------------------------------
                0.43    3.75   53980/53980       FGHitList::IntersectBranch(ssgBranch 
*, double (*)[3], double *, double *) [13]
[22]     5.1    0.43    3.75   53980         FGHitList::IntersectLeaf(ssgLeaf *, 
double (*)[3], double *, double *, unsigned int) [22]
                0.32    1.25 5736053/5947250     ssgVtxTable::getVertex(int) [53]
                0.05    1.17 1848626/1848626     sgdMakePlane(double *, double const 
*, double const *, double const *) [69]
                0.13    0.11 1848626/1848626     sgdDistanceSquaredVec3(double const 
*, double const *) [167]
                0.09    0.12 2215365/2215365     isZeroAreaTri(double (*)[2]) [175]
                0.07    0.10 1074144/1074144     fgdPointInTriangle(double *, double 
(*)[2]) [201]
                0.12    0.00 5736053/5742345     sgdSetVec3(double *, float *) [247]
                0.10    0.00 3697252/41281058     sgdScalarProductVec3(double const *, 
double const *) [75]
                0.04    0.00 1848626/11892214     sgdScaleVec3(double *, double const 
*, double) [166]
                0.03    0.00 1848626/1848626     sgdAbs(double) [504]
                0.02    0.00 1074144/1074144     sgdAddVec3(double *, double const *) 
[616]
                0.01    0.01   53980/89834       ssgVtxTable::getNumTriangles(void) 
[591]
                0.00    0.01    6292/6292        FGHitList::add(ssgEntity *, int, 
double *, double *) [802]
                0.01    0.00  819246/844565      sgdCopyVec3(double *, double const *) 
[869]
                0.00    0.00    6292/6292        sgdXformPnt4(double *, double const 
*, double const (*)[3]) [1098]
                0.00    0.00    6292/10067964     sgdXformPnt3(double *, double const 
*, double const (*)[3]) [82]
-----------------------------------------------
                0.00    0.01   50691/23800923     ssgSelector::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [319]
                0.02    0.05  429323/23800923     ssgCutout::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [101]
                0.12    0.39 3092929/23800923     ssgBranch::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [6]
                0.33    1.09 8746726/23800923     ssgRangeSelector::cull(sgFrustum *, 
float (*)[3], int) <cycle 6> [16]
                0.43    1.43 11481254/23800923     ssgTransform::cull(sgFrustum *, 
float (*)[3], int) <cycle 6> [9]
[23]     4.7    0.89    2.97 23800923         ssgEntity::preTravTests(int *, int) [23]
                1.78    0.00 23800923/33844511     ssgEntity::getTraversalMask(void) 
[36]
                0.06    0.40  460939/460939      tri_in_range_callback(ssgEntity *, 
int) [111]
                0.15    0.22 1436165/1436165     leaf_in_range_callback(ssgEntity *, 
int) [134]
                0.01    0.35  138206/138206      runway_lights_pretrav(ssgEntity *, 
int) [136]
-----------------------------------------------
                0.00    0.00    6416/5655589     ssgContext::setCamera(float (*)[3]) 
[915]
                0.00    0.01   12832/5655589     SGStars::reposition(float *, double) 
[429]
                0.00    0.01   19248/5655589     SGSkyDome::reposition(float *, 
double, double, double) [472]
                0.00    0.02   25664/5655589     SGMoon::reposition(float *, double, 
double, double, double) [450]
                0.00    0.02   25664/5655589     SGSun::reposition(float *, double, 
double, double, double) [461]
                0.00    0.04   64160/5655589     SGCloudLayer::reposition(float *, 
float *, double, double, double) [176]
                0.16    3.26 5501605/5655589     ssgTransform::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [9]
[24]     4.3    0.17    3.35 5655589         sgPreMultMat4(float (*)[3], float const 
(*)[3]) [24]
                2.65    0.00 5655589/5662019     sgMultMat4(float (*)[3], float const 
(*)[3], float const (*)[3]) [34]
                0.25    0.45 5655589/19029592     sgCopyMat4(float (*)[3], float const 
(*)[3]) [39]
-----------------------------------------------
                0.00    0.00       7/69787344     ssgFlatten(ssgEntity *) [1728]
                0.00    0.00      10/69787344     strip(ssgEntity *) [1971]
                3.20    0.00 69787327/69787344     ssgEntity::getBSphere(void) <cycle 
8> [20]
[25]     3.9    3.20    0.00 69787344         ssgEntity::isDirtyBSphere(void) [25]
-----------------------------------------------
                1.13    2.06 45449038/45449038     ssgBranch::getNextKid(void) [21]
[26]     3.8    1.13    2.06 45449038         ssgList::getNextEntity(void) [26]
                2.06    0.00 45449038/67381320     ssgList::getEntity(unsigned int) 
[28]
-----------------------------------------------
                0.01    0.01   12832/3527413     fgRenderFrame(void) [2]
                0.01    0.01   12832/3527413     sgStarPreDraw(ssgEntity *) [698]
                0.01    0.01   25664/3527413     sgSkyDomePreDraw(ssgEntity *) [530]
                0.43    0.40  923059/3527413     ssgVtxTable::draw(void) [18]
                1.18    1.11 2553026/3527413     ssgStateSelector::apply(void) [35]
[27]     3.8    1.62    1.53 3527413         ssgSimpleState::apply(void) [27]
                0.57    0.00 38351566/38890517     ssgContext::getState(void) [98]
                0.31    0.00 9582188/9889814     sgEqualVec3(float const *, float 
const *) [146]
                0.11    0.00 7196082/7228162     ssgSimpleState::getTexture(void) [261]
                0.02    0.07  320904/353399      ssgSimpleState::setTexture(ssgTexture 
*) [265]
                0.09    0.00 3527413/3565910     ssgState::preApply(void) [278]
                0.09    0.00 3502363/3502363     enable_00(void) [287]
                0.08    0.00 2553026/2553598     sgEqualVec4(float const *, float 
const *) [302]
                0.07    0.00 3508129/3508129     disable_00(void) [324]
                0.06    0.00 3527413/3565910     ssgState::preDraw(void) [337]
                0.02    0.02  320904/353564      
ssgSimpleState::getTextureHandle(void) [418]
                0.00    0.00  235716/5493085     sgCopyVec3(float *, float const *) 
[257]
                0.00    0.00   18628/18628       enable_08(void) [1085]
                0.00    0.00  150793/77163078     sgCopyVec4(float *, float const *) 
[56]
                0.00    0.00    6416/6416        disable_50(void) [1546]
                0.00    0.00    6391/6391        enable_01(void) [1565]
                0.00    0.00    6422/6422        disable_16(void) [3115]
                0.00    0.00    6416/6416        disable_34(void) [3124]
                0.00    0.00      31/31          enable_09(void) [3574]
                0.00    0.00      30/30          disable_08(void) [3577]
-----------------------------------------------
                0.05    0.00 1153149/67381320     ssgEntity::getParent(int) [291]
                0.94    0.00 20779133/67381320     ssgBranch::getKid(int) [59]
                2.06    0.00 45449038/67381320     ssgList::getNextEntity(void) [26]
[28]     3.7    3.05    0.00 67381320         ssgList::getEntity(unsigned int) [28]
-----------------------------------------------
                0.00    0.00       1/479427      FGFX::init(void) [1804]
                0.00    0.00       1/479427      SGPropertyNode::setLongValue(char 
const *, long) [2383]
                0.00    0.00       2/479427      fgInitLocale(char const *) [1862]
                0.00    0.00       2/479427      SGPropertyNode::tie(char const *, 
SGRawValue<long> const &, bool) [2301]
                0.00    0.00      10/479427      SGPropertyNode::tie(char const *, 
SGRawValue<char const *> const &, bool) [1982]
                0.00    0.00      12/479427      SGPropertyNode::setFloatValue(char 
const *, float) [1993]
                0.00    0.00      21/479427      SGPropertyNode::tie(char const *, 
SGRawValue<int> const &, bool) [1923]
                0.00    0.00      27/479427      SGPropertyNode::setBoolValue(char 
const *, bool) [1885]
                0.00    0.00      51/479427      SGPropertyNode::setDoubleValue(char 
const *, double) [1780]
                0.00    0.00      77/479427      SGPropertyNode::tie(char const *, 
SGRawValue<bool> const &, bool) [1752]
                0.00    0.00      95/479427      initMenu(void) [1149]
                0.00    0.00     158/479427      SGPropertyNode::tie(char const *, 
SGRawValue<double> const &, bool) [1468]
                0.00    0.00     174/479427      SGPropertyNode::alias(char const *) 
[1484]
                0.00    0.00     183/479427      fgSetArchivable(char const *, bool) 
[1477]
                0.00    0.00     531/479427      fgGetNode(char const *, bool) [1161]
                0.00    0.04    6429/479427      SGPropertyNode::setStringValue(char 
const *, char const *) [379]
                0.00    0.07   12845/479427      SGPropertyNode::setIntValue(char 
const *, int) [296]
                0.04    2.67  458808/479427      SGPropertyNode::getNode(char const *) 
const [31]
[29]     3.4    0.04    2.79  479427         SGPropertyNode::getNode(char const *, 
bool) [29]
                0.02    1.25   35291/35291       parse_path(basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> > const &, 
vector<PathComponent, allocator<PathComponent> > &) [65]
                0.03    0.95   35291/35291       find_node(SGPropertyNode *, 
vector<PathComponent, allocator<PathComponent> > const &, int, bool) [77]
                0.13    0.29  479427/479427      SGPropertyNode::hash_table::get(char 
const *) [114]
                0.00    0.04   35291/276542      basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> >::basic_string(char const 
*) [137]
                0.00    0.03   35291/35291       vector<PathComponent, 
allocator<PathComponent> >::~vector(void) [511]
                0.01    0.00    6878/6878        SGPropertyNode::hash_table::put(char 
const *, SGPropertyNode *) [779]
                0.00    0.01   35291/35291       vector<PathComponent, 
allocator<PathComponent> >::vector(allocator<PathComponent> const &) [787]
                0.00    0.00   35291/35291       
allocator<PathComponent>::~allocator(void) [1023]
                0.00    0.00   35291/947208      basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> >::~basic_string(void) 
[236]
                0.00    0.00   35291/35291       
allocator<PathComponent>::allocator(void) [1229]
                0.00    0.00    1606/1606        
SGPropertyNode::hash_table::hash_table(void) [1662]
-----------------------------------------------
                0.80    1.97 3476085/3476085     ssgVtxTable::draw(void) [18]
[30]     3.3    0.80    1.97 3476085         ssgVtxTable::draw_geometry(void) [30]
                0.12    0.19 3476085/3480229     ssgVtxTable::getNumColours(void) [148]
                0.09    0.19 3476085/3476085     ssgVtxTable::getNumNormals(void) [154]
                0.09    0.19 3476085/19154123     ssgVtxTable::getNumVertices(void) 
[55]
                0.07    0.19 3476085/3479193     ssgVtxTable::getNumTexCoords(void) 
[157]
                0.14    0.11 3437589/3564963     ssgTexCoordArray::get(unsigned int) 
[161]
                0.10    0.11 3476085/4210062     ssgColourArray::get(unsigned int) 
[162]
                0.09    0.11 3476085/9650703     ssgVertexArray::get(unsigned int) [99]
                0.07    0.11 3437589/3437589     ssgNormalArray::get(unsigned int) 
[189]
-----------------------------------------------
                0.00    0.00      16/458808      readInstrument(SGPropertyNode const 
*) [1245]
                0.00    0.00      56/458808      readInstrument(SGPropertyNode const 
*) [314]
                0.00    0.00     114/458808      SGPropertyNode::hasValue(char const 
*) const [1704]
                0.00    0.00     297/458808      readTransformation(SGPropertyNode 
const *, float, float) [611]
                0.00    0.00     448/458808      readLayer(SGPropertyNode const *, 
float, float) [444]
                0.00    0.05    8505/458808      SGPropertyNode::getFloatValue(char 
const *, float) const [351]
                0.00    0.05    8845/458808      SGPropertyNode::getStringValue(char 
const *, char const *) const [345]
                0.00    0.47   80447/458808      SGPropertyNode::getIntValue(char 
const *, int) const [103]
                0.00    0.80  136257/458808      SGPropertyNode::getBoolValue(char 
const *, bool) const [81]
                0.01    1.32  223823/458808      SGPropertyNode::getDoubleValue(char 
const *, double) const <cycle 2> [64]
[31]     3.3    0.01    2.70  458808         SGPropertyNode::getNode(char const *) 
const [31]
                0.04    2.67  458808/479427      SGPropertyNode::getNode(char const *, 
bool) [29]
-----------------------------------------------
                                                 <spontaneous>
[32]     3.2    0.00    2.66                 fgIdleFunction(void) [32]
                0.00    2.66       1/1           fgInitSubsystems(void) [33]
                0.00    0.00       6/132         fgSplashUpdate(double, float) [828]
                0.00    0.00       1/1           fgSplashInit(void) [2011]
                0.00    0.00       8/135571      fgGetBool(char const *, bool) [80]
                0.00    0.00       1/6417        fgReshape(int, int) [164]
                0.00    0.00       1/1           fgInitVisuals(void) [2107]
                0.00    0.00       2/79290       fgGetInt(char const *, int) [104]
                0.00    0.00       1/12836       fgPanelVisible(void) [597]
                0.00    0.00       1/180027      sglog(void) [664]
                0.00    0.00       1/180026      logstream::operator<<(loglevel const 
&) [955]
                0.00    0.00       1/180026      loglevel::loglevel(sgDebugClass, 
sgDebugPriority) [1665]
-----------------------------------------------
                0.00    2.66       1/1           fgIdleFunction(void) [32]
[33]     3.2    0.00    2.66       1         fgInitSubsystems(void) [33]
                0.00    1.42       1/1           
FGMaterialLib::load(basic_string<char, string_char_traits<char>, 
__default_alloc_template<true, 0> > const &) [60]
                0.00    0.49       1/1           FGNavList::init(SGPath) [106]
                0.01    0.39       1/1           FGFixList::init(SGPath) [121]
                0.00    0.17       1/1           fgReadPanel(basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> > const &) [198]
                0.00    0.05       1/1           FGILSList::init(SGPath) [370]
                0.00    0.05       1/1           FGSubsystemMgr::init(void) [381]
                0.00    0.05       1/1           FGATISList::init(SGPath) [416]
                0.00    0.01       1/1           FGPanel::init(void) [689]
                0.00    0.00       1/1           fgCockpitInit(fgAIRCRAFT *) [1156]
                0.00    0.00       1/1           FGTileMgr::update(double) [1244]
                0.00    0.00       1/1           FGRadioStack::init(void) [1247]
                0.00    0.00       1/1           FGATCMgr::FGATCMgr(void) [1450]
                0.00    0.00       1/1           FGControls::bind(void) [1671]
                0.00    0.00       1/1           FGInput::FGInput(void) [1672]
                0.00    0.00       1/1           FGRadioStack::bind(void) [1700]
                0.00    0.00       3/3           void FGEventMgr::Register<void 
(*)(void)>(char const *, void (*)(void) const &, int, int) [1712]
                0.00    0.00       1/1           FGRadioStack::FGRadioStack(void) 
[1716]
                0.00    0.00       1/1           FGEnvironmentMgr::bind(void) [1751]
                0.00    0.00       1/1           fgAPAdjustInit(void) [1763]
                0.00    0.00       1/1           FGApproachList::init(SGPath) [1817]
                0.00    0.00       1/1           FGAutopilot::init(void) [1841]
                0.00    0.00       1/1           FGGlobals::saveInitialState(void) 
[1854]
                0.00    0.00       1/1           void FGEventMgr::Register<FGEventMgr 
*, void (FGEventMgr::*)(FGEventMgr const *) const>(char const *, FGEventMgr * const &, 
void (FGEventMgr::*)(FGEventMgr const *) const, int, int) [1855]
                0.00    0.00       1/1           void FGEventMgr::Register<FGTileMgr 
*, void (FGTileMgr::*)(FGTileMgr *)>(char const *, FGTileMgr * const &, void 
(FGTileMgr::*)(FGTileMgr *), int, int) [1858]
                0.00    0.00       1/1           void FGEventMgr::Register<fgLIGHT *, 
void (fgLIGHT::*)(fgLIGHT *)>(char const *, fgLIGHT * const &, void 
(fgLIGHT::*)(fgLIGHT *), int, int) [1857]
                0.00    0.00       1/1           FGATCMgr::init(void) [1860]
                0.00    0.00       1/1           fgLIGHT::Init(void) [1884]
                0.00    0.00       1/1           FGAutopilot::bind(void) [1886]
                0.00    0.00       1/1           NewTgtAirportInit(void) [1887]
                0.00    0.00       1/1           fgInitProps(void) [1931]
                0.00    0.00       1/1           FGSteam::bind(void) [1932]
                0.00    0.00       7/656         SGPath::append(basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> > const &) [769]
                0.00    0.00       7/386         SGPath::SGPath(basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> > const &) [971]
                0.00    0.00       1/1           NewAltitudeInit(void) [1950]
                0.00    0.00       1/1           NewHeadingInit(void) [1963]
                0.00    0.00       1/1           FGTowerList::init(SGPath) [2000]
                0.00    0.00       1/1           fgInitView(void) [2029]
                0.00    0.00       1/1           FGIO::init(void) [2069]
                0.00    0.00       1/1           FGSteam::init(void) [2096]
                0.00    0.00       1/1           FGEnvironmentMgr::init(void) [2109]
                0.00    0.00       1/1           fgInitFDM(void) [2194]
                0.00    0.00       1/1           FGPanel::bind(void) [2210]
                0.00    0.00       6/6           
FGSubsystemMgr::add(FGSubsystemMgr::GroupType, basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> > const &, FGSubsystem *, 
double) [2234]
                0.00    0.00      14/276542      basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> >::basic_string(char const 
*) [137]
                0.00    0.00       3/531         fgGetNode(char const *, bool) [1161]
                0.00    0.00       7/766         SGPath::~SGPath(void) [1474]
                0.00    0.00       1/6442        fgGetString(char const *, char const 
*) [415]
                0.00    0.00       1/135571      fgGetBool(char const *, bool) [80]
                0.00    0.00       1/1           FGControls::init(void) [2396]
                0.00    0.00       1/8           fgLIGHT::Update(void) [2066]
                0.00    0.00       1/5           fgUpdateSunPos(void) [2178]
                0.00    0.00       1/5           fgUpdateMoonPos(void) [2184]
                0.00    0.00       1/618817      fgGetDouble(char const *, double) 
<cycle 2> [708]
                0.00    0.00       1/1           FGTileMgr::init(void) [2517]
                0.00    0.00      15/947208      basic_string<char, 
string_char_traits<char>, __default_alloc_template<true, 0> >::~basic_string(void) 
[236]
                0.00    0.00       1/1           FGAutopilot::FGAutopilot(void) [2535]
                0.00    0.00       1/1           FGSubsystemMgr::bind(void) [2557]
                0.00    0.00       1/1           FGEventMgr::init(void) [2611]
                0.00    0.00       8/6423        FGGlobals::get_subsystem_mgr(void) 
const [1540]
                0.00    0.00      14/180027      sglog(void) [664]
                0.00    0.00       1/1           
FGMarkerBeacons::FGMarkerBeacons(void) [2653]
                0.00    0.00       6/378         SGPath::SGPath(SGPath const &) [2033]
                0.00    0.00       2/6418        FGGlobals::get_io(void) const [1325]
                0.00    0.00       1/1           FGSoundMgr::FGSoundMgr(void) [2740]
                0.00    0.00      14/180026      logstream::operator<<(loglevel const 
&) [955]
                0.00    0.00       1/1           FGFixList::FGFixList(void) [2752]
                0.00    0.00       1/1           FGNavList::FGNavList(void) [2788]
                0.00    0.00       1/1           FGATISList::FGATISList(void) [2786]
                0.00    0.00       1/1           FGApproachList::FGApproachList(void) 
[2787]
                0.00    0.00       2/6417        FGGlobals::get_environment_mgr(void) 
[1545]
                0.00    0.00       2/7883        FGGlobals::get_autopilot(void) const 
[1536]
                0.00    0.00       3/12833       FGGlobals::get_tile_mgr(void) const 
[1527]
                0.00    0.00       1/1           FGSoundMgr::init(void) [2836]
                0.00    0.00       1/1           fgAircraftInit(void) [2861]
                0.00    0.00       1/1           NewGUI::NewGUI(void) [2896]
                0.00    0.00       1/1           FGTowerList::FGTowerList(void) [2892]
                0.00    0.00       1/1           FGILSList::FGILSList(void) [2936]
                0.00    0.00       1/812         SGPath::str(void) const [1925]
                0.00    0.00       1/6417        FGGlobals::get_ATC_display(void) 
const [1544]
                0.00    0.00       1/1           FGATCDisplay::FGATCDisplay(void) 
[2961]
                0.00    0.00       2/60634       FGGlobals::get_controls(void) const 
[1112]
                0.00    0.00       1/1725        ostream & operator<<<char, 
string_char_traits<char>, __default_alloc_template<true, 0> >(ostream &, 
basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> > const 
&) [1891]
                0.00    0.00      14/180026      loglevel::loglevel(sgDebugClass, 
sgDebugPriority) [1665]
                0.00    0.00       1/891294      FGGlobals::get_scenery(void) const 
[499]
                0.00    0.00       1/782273      FGScenery::get_cur_elev(void) const 
[662]
                0.00    0.00       7/183         FGGlobals::get_fg_root(void) const 
[3406]
                0.00    0.00       2/22687       FGGlobals::get_soundmgr(void) const 
[3052]
                0.00    0.00       2/6391        FGGlobals::get_steam(void) const 
[3152]
                0.00    0.00       1/1           FGLogger::FGLogger(void) [11314]
                0.00    0.00       1/1           FGMarkerBeacons::init(void) [4109]
                0.00    0.00       1/1           
FGGlobals::set_ATC_display(FGATCDisplay *) [4152]
                0.00    0.00       1/1           FGATCDisplay::init(void) [4108]
                0.00    0.00       1/1           FGGlobals::set_ATC_mgr(FGATCMgr *) 
[4153]
                0.00    0.00       1/6416        FGGlobals::get_ATC_mgr(void) const 
[3132]
                0.00    0.00       1/1           FGGlobals::set_soundmgr(FGSoundMgr *) 
[4194]
                0.00    0.00       1/1           FGSoundMgr::bind(void) [3934]
                0.00    0.00       1/1           FGFX::FGFX(void) [11293]
                0.00    0.00       1/1           
FGInstrumentMgr::FGInstrumentMgr(void) [11284]
                0.00    0.00       1/1           FGSystemMgr::FGSystemMgr(void) [11274]
                0.00    0.00       1/1           FGGlobals::set_autopilot(FGAutopilot 
*) [4164]
                0.00    0.00       1/1           FGIO::bind(void) [3940]
-----------------------------------------------
                0.00    0.00       7/5662019     make_offsets_matrix(float (*)[3][3], 
double, double, double, double, double, double) [2329]
                0.00    0.00    6423/5662019     sgPostMultMat4(float (*)[3], float 
const (*)[3]) [1039]
                2.65    0.00 5655589/5662019     sgPreMultMat4(float (*)[3], float 
const (*)[3]) [24]
[34]     3.2    2.66    0.00 5662019         sgMultMat4(float (*)[3], float const 
(*)[3], float const (*)[3]) [34]
-----------------------------------------------
                0.14    2.42 2553026/2553026     ssgVtxTable::draw(void) [18]
[35]     3.1    0.14    2.42 2553026         ssgStateSelector::apply(void) [35]
                1.18    1.11 2553026/3527413     ssgSimpleState::apply(void) [27]
                0.13    0.00 2553026/5106052     
ssgStateSelector::getCurrentStep(void) [160]
-----------------------------------------------
                0.75    0.00 10043588/33844511     
FGHitList::IntersectBranch(ssgBranch *, double (*)[3], double *, double *) [13]
                1.78    0.00 23800923/33844511     ssgEntity::preTravTests(int *, int) 
[23]
[36]     3.1    2.53    0.00 33844511         ssgEntity::getTraversalMask(void) [36]
-----------------------------------------------
                0.00    0.00   10234/154571808     gen_random_surface_objects(ssgLeaf 
*, ssgBranch *, Point3D *, basic_string<char, string_char_traits<char>, 
__default_alloc_template<true, 0> > const &) [202]
                0.04    0.00 2805314/154571808     sgSphere::extend(sgSphere const *) 
[95]
                0.16    0.00 10043588/154571808     
FGHitList::IntersectBranch(ssgBranch *, double (*)[3], double *, double *) [13]
                2.24    0.00 141712672/154571808     sgFrustum::contains(sgSphere 
const *) const [15]
[37]     2.9    2.44    0.00 154571808         sgSphere::getRadius(void) const [37]
-----------------------------------------------
                0.01    0.05  673145/27045892     ssgTransform::recalcBSphere(void) 
<cycle 8> [237]
                0.58    1.78 26372747/27045892     ssgEntity::cull_test(sgFrustum *, 
float (*)[3], int) [7]
[38]     2.9    0.59    1.83 27045892         sgSphere::orthoXform(float const (*)[3]) 
[38]
                1.83    0.00 27045892/27045892     sgXformPnt3(float *, float const *, 
float const (*)[3]) [44]
-----------------------------------------------
                0.00    0.00       1/19029592     ssgContext::ssgContext(void) [2345]
                0.00    0.00      32/19029592     ssgContext::getModelviewMatrix(float 
(*)[3]) [2438]
                0.00    0.00    6415/19029592     FGModelPlacement::update(void) [336]
                0.00    0.00    6416/19029592     
FGViewer::updateFromModelLocation(FGLocation *) [1040]
                0.00    0.00    6416/19029592     FGViewer::copyLocationData(void) 
[706]
                0.00    0.00    6416/19029592     SGSkyDome::reposition(float *, 
double, double, double) [472]
                0.00    0.00    6416/19029592     SGMoon::reposition(float *, double, 
double, double, double) [450]
                0.00    0.00    6416/19029592     SGSun::reposition(float *, double, 
double, double, double) [461]
                0.00    0.00    6416/19029592     ssgContext::setCamera(float (*)[3]) 
[915]
                0.00    0.00    6423/19029592     sgPostMultMat4(float (*)[3], float 
const (*)[3]) [1039]
                0.00    0.00   12832/19029592     SGStars::reposition(float *, double) 
[429]
                0.00    0.00   32080/19029592     SGCloudLayer::reposition(float *, 
float *, double, double, double) [176]
                0.00    0.00   41315/19029592     ssgBaseTransform::getTransform(float 
(*)[3]) [833]
                0.00    0.01   90299/19029592     ssgTransform::setTransform(float 
(*)[3]) [385]
                0.02    0.03  429323/19029592     ssgCutout::cull(sgFrustum *, float 
(*)[3], int) <cycle 6> [101]
                0.06    0.10 1284254/19029592     
ssgBaseTransform::updateTransform(void) [169]
                0.08    0.14 1731906/19029592     _ssgDList::setLoadMatrix(float 
(*)[3]) [163]
                0.19    0.33 4199022/19029592     _ssgDList::setPushMatrix(float 
(*)[3]) [88]
                0.24    0.44 5501605/19029592     ssgTransform::cull(sgFrustum *, 
float (*)[3], int) <cycle 6> [9]
                0.25    0.45 5655589/19029592     sgPreMultMat4(float (*)[3], float 
const (*)[3]) [24]
[39]     2.8    0.84    1.51 19029592         sgCopyMat4(float (*)[3], float const 
(*)[3]) [39]
                1.51    0.00 76118368/77163078     sgCopyVec4(float *, float const *) 
[56]
-----------------------------------------------
                0.00    0.00      15/83039779     fgUpdateMoonPos(void) [2184]
                0.00    0.00      15/83039779     fgUpdateSunPos(void) [2178]
                0.00    0.00   12852/83039779     
sgmap_vec_onto_cur_surface_plane(float *, float *, float *, float *) [1401]
                0.00    0.00   19248/83039779     sgTransposeNegateMat4(float (*)[3], 
float const (*)[3]) [1423]
                0.00    0.00   65089/83039779     sgTriArea(float *, float *, float *) 
[355]
                0.22    0.00 8325800/83039779     sgLengthVec3(float const *) [94]
                1.95    0.00 74616760/83039779     sgFrustum::contains(sgSphere const 
*) const [15]
[40]     2.6    2.17    0.00 83039779         sgScalarProductVec3(float const *, float 
const *) [40]
-----------------------------------------------
                0.08    1.93   32080/32080       ssgCullAndDraw(ssgRoot *) [3]
[41]     2.4    0.08    1.93   32080         _ssgDrawDList(void) [41]
                0.23    1.70 4090182/4090182     _ssgDList::draw(void) [43]
-----------------------------------------------
                0.04    0.00 3126147/171630869     sgSphere::extend(sgSphere const *) 
[95]
                0.35    0.00 30130764/171630869     
FGHitList::IntersectBranch(ssgBranch *, double (*)[3], double *, double *) [13]
                1.62    0.00 138373958/171630869     sgFrustum::contains(sgSphere 
const *) const [15]
[42]     2.4    2.00    0.00 171630869         sgSphere::getCenter(void) const [42]
-----------------------------------------------
                0.23    1.70 4090182/4090182     _ssgDrawDList(void) [41]
[43]     2.3    0.23    1.70 4090182         _ssgDList::draw(void) [43]
                0.09    1.49  726196/3476085     ssgVtxTable::draw(void) [18]
                0.12    0.00 4090182/4098374     _ssgDList::setEmpty(void) [243]
-----------------------------------------------
                1.83    0.00 27045892/27045892     sgSphere::orthoXform(float const 
(*)[3]) [38]
[44]     2.2    1.83    0.00 27045892         sgXformPnt3(float *, float const *, 
float const (*)[3]) [44]
-----------------------------------------------
                0.00    0.00      19/4554070     
ssgTimedSelector::ssgTimedSelector(int) [2239]
                0.00    0.00    6415/4554070     FGModelPlacement::setVisible(bool) 
[1055]
                0.00    0.00    6416/4554070     FGAircraftModel::draw(void) [600]
                0.00    0.00   12832/4554070     SGSky::enable(void) [1034]
                0.06    0.00  160417/4554070     FGTileEntry::prep_ssg_node(Point3D 
const &, float *, float) [57]
                1.66    0.00 4367971/4554070     ssgRangeSelector::cull(sgFrustum *, 
float (*)[3], int) <cycle 6> [16]
[45]     2.1    1.73    0.00 4554070         ssgSelector::select(unsigned int) [45]
-----------------------------------------------
                0.00    0.10       7/121         
FGTextureManager::createTexture(basic_string<char, string_char_traits<char>, 
__default_alloc_template<true, 0> > const &) [276]
                0.00    0.13       9/121         ssgLoaderOptions::createTexture(char 
*, int, int, int) [239]
                0.00    1.47     105/121         ssgSimpleState::setTexture(char const 
*, int, int, int) [58]
[46]     2.0    0.00    1.70     121         ssgTexture::ssgTexture(char const *, int, 
int, int) [46]
                0.00    1.70     121/121         ssgLoadTexture(char const *, 
ssgTextureInfo *) [47]
                0.00    0.00     121/322602      ssgBase::ssgBase(void) [673]
                0.00    0.00     121/136         ssgTypeTexture(void) [2483]
                0.00    0.00     121/135         ssgTexture::setFilename(char const *) 
[3428]
                0.00    0.00     121/121         ssgTexture::alloc_handle(void) [3434]
                0.00    0.00     121/121         ssgTexture::setDefaultGlParams(int, 
int, int) [3436]
-----------------------------------------------
                0.00    1.70     121/121         ssgTexture::ssgTexture(char const *, 
int, int, int) [46]
[47]     2.0    0.00    1.70     121         ssgLoadTexture(char const *, 
ssgTextureInfo *) [47]
                0.00    1.70     121/121         ssgLoadSGI(char const *, 
ssgTextureInfo *) [48]
                0.00    0.00     363/2194        ulStrNEqual(char const *, char const 
*, int) [1651]
-----------------------------------------------
                0.00    1.70     121/121         ssgLoadTexture(char const *, 
ssgTextureInfo *) [47]
[48]     2.0    0.00    1.70     121         ssgLoadSGI(char const *, ssgTextureInfo 
*) [48]
                0.28    1.41     121/121         ssgSGIHeader::ssgSGIHeader(char const 
*, ssgTextureInfo *) [49]
                0.00    0.00     121/121         ssgSGIHeader::~ssgSGIHeader(void) 
[10704]
-----------------------------------------------
                0.28    1.41     121/121         ssgLoadSGI(char const *, 
ssgTextureInfo *) [48]
[49]     2.0    0.28    1.41     121         ssgSGIHeader::ssgSGIHeader(char const *, 
ssgTextureInfo *) [49]
                1.17    0.00     121/121         ssgMakeMipMaps(unsigned char *, int, 
int, int) [73]
                0.24    0.00   71456/71456       ssgSGIHeader::getRow(unsigned char *, 
int, int) [165]
                0.00    0.00     121/121         ssgSGIHeader::openFile(char const *) 
[1099]
-----------------------------------------------
                0.03    1.66    6415/6415        fgMainLoop(void) [1]
[50]     2.0    0.03    1.66    6415         FGTileMgr::prep_ssg_nodes(FGLocation *, 
float) [50]
                0.44    1.08  295504/295504      FGTileEntry::prep_ssg_node(Point3D 
const &, float *, float) [57]
                0.01    0.05  295504/295504      FGNewCache::next(void) [366]
                0.01    0.03  301919/301919      FGNewCache::at_end(void) [455]
                0.01    0.02  295504/295504      FGNewCache::get_current(void) [476]
                0.00    0.00    6415/6415        FGNewCache::reset_traversal(void) 
[993]
                0.00    0.00    6415/6415        FGLocation::get_tile_center(void) 
[1250]
                0.00    0.00    6415/12831       FGLocation::get_world_up(void) [1189]
-----------------------------------------------
                0.02    1.67    6414/6414        fgMainLoop(void) [1]
[51]     2.0    0.02    1.67    6414         fgUpdateTimeDepCalcs(void) [51]
                0.01    0.69    6414/6415        FGRadioStack::update(double) [86]
                0.00    0.22    6414/6415        FGAircraftModel::update(double) [172]
                0.01    0.15    6414/6415        FGViewMgr::update(double) [213]
                0.02    0.13    6389/6389        FGUFO::update(double) [214]
                0.02    0.12    6389/6389        FGAutopilot::update(double) [221]
                0.00    0.13    6389/6389        FGSteam::update(double) [229]
                0.01    0.11    6414/6415        SGEphemeris::update(double, double, 
double) [251]
                0.03    0.01    6414/6414        fgLIGHT::UpdateAdjFog(void) [490]
                0.00    0.01    6414/6414        FGModelMgr::update(double) [739]
                0.00    0.00   12828/19216       FGInterface::get_inited(void) const 
[1320]
                0.00    0.00    6414/25664       FGGlobals::get_viewmgr(void) const 
[1082]
                0.00    0.00    6389/7883        FGGlobals::get_autopilot(void) const 
[1536]
                0.00    0.00   12828/43755       FGGlobals::get_time_params(void) 
const [1305]
                0.00    0.00    6414/12832       FGGlobals::get_model_mgr(void) [1529]
                0.00    0.00    6414/12838       FGGlobals::get_aircraft_model(void) 
[1524]
                0.00    0.00    6414/57766       FGGlobals::get_ephem(void) const 
[1180]
                0.00    0.00       1/1           FGInterface::bind(void) [1849]
                0.00    0.00       1/1           FGUFO::init(void) [2018]
                0.00    0.00      26/891294      FGGlobals::get_scenery(void) const 
[499]
                0.00    0.00      26/782273      FGScenery::get_cur_elev(void) const 
[662]
                0.00    0.00       1/180027      sglog(void) [664]
                0.00    0.00       1/180026      logstream::operator<<(loglevel const 
&) [955]
                0.00    0.00       1/180026      loglevel::loglevel(sgDebugClass, 
sgDebugPriority) [1665]
                0.00    0.00    6414/72318       FGInterface::get_Latitude(void) const 
[3028]
                0.00    0.00    6414/6415        SGTime::getLst(void) const [3141]
                0.00    0.00    6414/6415        SGTime::getMjd(void) const [3142]
                0.00    0.00    6389/6391        FGGlobals::get_steam(void) const 
[3152]
                0.00    0.00       1/1           FGInterface::get_bound(void) const 
[4042]
-----------------------------------------------
                0.00    0.00     100/29635594     ssgMakeSphere(ssgSimpleState *, 
ssgColourArray *, double, int, int, int (*)(ssgEntity *), int (*)(ssgEntity *)) [1434]
                0.00    0.00     180/29635594     FGTileEntry::load(SGPath const &, 
bool) [68]
                0.00    0.00   45684/29635594     
FGTileEntry::gen_lights(ssgVertexArray *, int, float) [657]
                0.19    0.00 3476085/29635594     ssgVtxTable::getNumNormals(void) 
[154]
                0.19    0.00 3479193/29635594     ssgVtxTable::getNumTexCoords(void) 
[157]
                0.19    0.00 3480229/29635594     ssgVtxTable::getNumColours(void) 
[148]
                1.05    0.00 19154123/29635594     ssgVtxTable::getNumVertices(void) 
[55]
[52]     2.0    1.63    0.00 29635594         ssgSimpleList::getNum(void) [52]
-----------------------------------------------
                0.00    0.00    1554/5947250     OptVertexList::add(ssgLeaf *) [613]
                0.00    0.01   44223/5947250     LeafUserData::setup_triangle(int) 
[195]
                0.01    0.04  165420/5947250     gen_random_surface_points(ssgLeaf *, 
ssgVertexArray *, double) [260]
                0.32    1.25 5736053/5947250     FGHitList::IntersectLeaf(ssgLeaf *, 
double (*)[3], double *, double *, unsigned int) [22]
[53]     2.0    0.33    1.29 5947250         ssgVtxTable::getVertex(int) [53]
                0.30    0.66 11894500/19154123     ssgVtxTable::getNumVertices(void) 
[55]
                0.15    0.19 5947250/9650703     ssgVertexArray::get(unsigned int) [99]
-----------------------------------------------
[54]     1.9    0.15    1.42  618817+1010517 <cycle 2 as a whole> [54]
                0.05    0.07  565351             SGPropertyNode::get_double(void) 
const <cycle 2> [250]
                0.08    0.02  618481+87          SGPropertyNode::getDoubleValue(void) 
const <cycle 2> [264]
                0.01    0.01  221669             fgGetDouble(char const *, double) 
<cycle 2> [708]
                0.00    0.00       9             SGRawValueMethods<FGSteam, 
double>::getValue(void) const <cycle 2> [3700]
                0.00    0.00       1             FGSteam::get_ASI_kias(void) const 
<cycle 2> [4020]
-----------------------------------------------
                0.00    0.00   89834/19154123     ssgVtxTable::getNumTriangles(void) 
[591]
                0.01    0.01  217619/19154123     ssgVtxTable::recalcBSphere(void) 
[325]
                0.09    0.19 3476085/19154123     ssgVtxTable::draw(void) [18]
                0.09    0.19 3476085/19154123     ssgVtxTable::draw_geometry(void) [30]
                0.30    0.66 11894500/19154123     ssgVtxTable::getVertex(int) [53]
[55]     1.9    0.48    1.05 19154123         ssgVtxTable::getNumVertices(void) [55]
                1.05    0.00 19154123/29635594     ssgSimpleList::getNum(void) [52]
-----------------------------------------------


_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to