Graphics card profiles
This article is a stub. You can help the wiki by expanding it. |
Idea
You can do that by settings /sim/rendering/* as required, i.e. loading pre-configured profiles from $FG_ROOT
CPU/RAM and VRAM info is not currently available, but we have patches providing this sort of info: Resource Tracking for FlightGear |
Approach
that's basically a form of feature-scaling: Feature Scaling
Like you say, we could expose most of the GL* info at the property tree level, and then use Nasal/propertylist rules to dynamically toggle features on/off during startup, i.e. sort of a better customiable initialization sequence. The easiest way to implement something like this would be supporting "data overlays", i.e. in the form of fgfsrc/preferences.xml files that are stored in $FG_ROOT/Profiles and automatically overlaid over default startup options once a certain GL vendor/make and GPU model are detected, e.g. by having:
Each vendor-specific sub-folder could then contain graphics related xml overlays that will be loaded on top of the default startup options (i.e. those not customized/overriden by the user) - what that means is that the current hard-coded default settings in fg_init.cxx would need to be dynamically loaded during startup using the APIs from props_io.cxx. The corresponding startup profiles could be either conventional PropertyList XML files, or support embedded Nasal/property-rule blocks to provide support for regex-matching etc. |