Howto:Troubleshooting Aircraft Performance Issues: Difference between revisions
Line 4: | Line 4: | ||
[[File:Su15-complexity-osg-stats.jpeg|right|thumb|http://forum.flightgear.org/viewtopic.php?f=4&t=25961&start=135]] | [[File:Su15-complexity-osg-stats.jpeg|right|thumb|http://forum.flightgear.org/viewtopic.php?f=4&t=25961&start=135]] | ||
== Motivation == | |||
We are seeing more and more complex aircraft/features developed by aircraft developers, with non-obvious impact on overall FlightGear performance. Many aircraft developers don't fully understand how to draw correct conclusions from interpreting their findings, i.e. if performance issues are related to the FDM, texturing/3D model complexity or other aspects like systems simulation (e.g. Nasal). | |||
== Objective == | == Objective == | ||
Document the main steps to understand performance issues at the aircraft level, i.e. FDM, 3D modeling, texturing and Nasal scripting. | Document the main steps to understand performance issues at the aircraft level, i.e. FDM, 3D modeling, texturing and Nasal scripting. |
Revision as of 13:31, 13 November 2015
This article is a stub. You can help the wiki by expanding it. |
Note In its current form, this section/article is largely based on quotes collected from various related discussions/channels (devel list, forum etc) using the Instant-Cquotes script. Wiki users and other contributors are encouraged to help rewrite/edit contents accordingly to help get rid of unnecessary quoting (i.e. while the wiki is not intended to be a collection of quotes, quotes are sometimes the best/easiest way to bootstrap new articles, while also providing a good way to link back to related discussions in the archives).
While rewriting usually only entails changing first person speech to 3rd person. However, please try to retain references/links to the original discussion whenever possible. |
Motivation
We are seeing more and more complex aircraft/features developed by aircraft developers, with non-obvious impact on overall FlightGear performance. Many aircraft developers don't fully understand how to draw correct conclusions from interpreting their findings, i.e. if performance issues are related to the FDM, texturing/3D model complexity or other aspects like systems simulation (e.g. Nasal).
Objective
Document the main steps to understand performance issues at the aircraft level, i.e. FDM, 3D modeling, texturing and Nasal scripting.
you can use the osg-stats and use osgviewer/fgviewer in standalone mode to draw your own conclusions |
in conjunction with viewing the model in osgviewer, fgviewer and fgfs using different settings, we can draw reliable conclusions. |
Approach
We will be testing different components, and features, of each aircraft in isolation, to exclude certain factors and determine if/how performance is affected by certain features.
For instance, when loading an aircraft in osgviewer, we can basically determine the maximal theoretical rendering speed that can be obtained (flightgear using osgviewer internally), without adding any flightgear specific subsystems/overhead (e.g. no scenery/terrain).
Equally, when running a FDM in standalone mode, we can look at the FDM overhead without graphics and/or scripting playing any role.
And once we load the same aircraft in fgviewer, we can look at it without Nasal playing any role.
We do have some fairly heavy/complex models, some unnecessarily so - i.e. in areas that add little to the overall realism (e.g. 777 or extra500).To see for yourself, you could dump the scene graph to a file using the debug menu, and inspect the whole thing in osgviewer. Which is also a good way to see how much of this is due to FlightGear itself.To see the impact of your model in relation to scenery/terrain etc, you can use the draw masks /sim/rendering/draw-masks and the minimal startup profile: Troubleshooting crashes#Minimal startup profileTo see the impact of enabling/disabling Rembrandt, you would obviously have to re-do the test accordingly.But overall, this should give you a fairly good idea for your hardware, especially in conjunction with using the osg stats: Howto:Use the system monitor#Interpreting the OSG on screen stats |
Metrics
The main metrics will be osg-stats (link) and frame rate/frame spacing when in FG, as well as ogging performance monitor metrics (link)
Performance
Understanding framerate
Use Cases
We will be using aircraft that were tested on the forum, especially:
- Su-15 vs. F15
- extra500
- 777-2000
standalone FDM
osgviewer
fgviewer
Disabling Nasal
Minimal startup profile
Using draw masks