PUI
PUI is the standard GUI engine used in FlightGear, it is part of Plib and is using raw, fixed-pipeline, OpenGL code internally (no OpenSceneGraph). PUI provides a fairly basic, but robust, set of widgets. PUI is also used for rendering the Menubar:
However, PUI related OpenGL code is particularly infamous for causing rendering artifacts for people on AMD/ATI and Intel hardware (especially in combination with certain styles and effects/shaders).
PUI is also known to affect rendering performance quite significantly, while also preventing FlightGear from using a more recent version of OpenGL.
In addition, OpenSceneGraph (OSG) can obviously not help optimize any PUI related GL code.
As of late 2015, there is heavy activity towards creating alternatives to PUI:
- Integrated Qt5 Launcher (depending on Qt5, using multi-threading)
- Integrated Web GUI (external, browser-based - fully asynchronous)
- Howto:Processing legacy PUI dialogs using Canvas (internal, using the Canvas system and a simple Nasal parser to deal with existing PUI/XML dialogs)
<gallery> <gallery>