Howto:Activate multi core and multi GPU support

From FlightGear wiki
Revision as of 15:46, 21 October 2011 by Hooray (talk | contribs) (add more links with discussions on more complex multi-GPU setups)
Jump to navigation Jump to search

FlightGear supports a number of different threading models to make use of multiple CPUs or GPUs, this applies mostly to highend multi-core or multi-GPU, multi-screen (or multi-window) setups and may improve performance (see Howto: Configure camera view windows).

There is a property supported named /sim/rendering/multithreading-mode this can be set either in the preferences.xml file located in the flightgear data folder (base package: $FG_ROOT) or by using the --prop:/sim/rendering/multithreading-mode=... parameter from the console (or fgrun) this affects directly the osgviewer threading mode, supported values are:

   * AutomaticSelection
   * CullDrawThreadPerContext
   * DrawThreadPerContext
   * CullThreadPerCameraDrawThreadPerContext

Further information on threading modes can be found here: http://www.mail-archive.com/osg-users@openscenegraph.net/msg09620.html and here: http://www.mail-archive.com/osg-users@openscenegraph.net/msg09611.html

To set this in a separate XML file, just include it from preferences.xml (toplevel PropertyList node):

threadingmode.xml:

<?xml version="1.0"?>
<PropertyList>
<sim>
   <rendering>
     <multithreading-mode>AutomaticSelection</multithreading-mode>
   </rendering>
</sim>
</PropertyList>

This property must be set during initialization, modifying it at runtime has no effect.