From FlightGear wiki
Jump to navigation Jump to search


Current work in progress:

  • Control over thread-cpu affinities.
    • Default settings where OSG ties main thread and others to a single cpu core early in startup, can cause problems on Linux if one tries to run cpu intensive tasks on other threads. This is because new threads inherit their parent thread's affinity settings. For example this can make video encoding run very slowly because the threads created by ffmpeg can end up all trying to run on the same core.
    • /sim/thread-cpu-affinity: set on startup with --prop:/sim/thread-cpu-affinity=....
      • "" or unset: allow OSG to set thread affinities as normal.
      • "none": do not allow OSG to set thread affinities; the OS gets to choose what cores to use.
      • "osg": allow OSG to set up thread affinities but attempt to cancel affinity of main thread afterwards. (This doesn't really work.)
    • /sim/affinity-control: change value at runtime to test the effect of thread affinities on frame rate:
      • "clear": remember current threads' affinities then clear all thread affinities.
      • "revert": restore thread affinities remembered from most recent clear setting.

On next: