FWIW, speaking in general, memory can be freed CPU-side (RAM) after the texture is allocated on the GPU (VRAM) by using OSG's
SetUnRefImageDataAfterApply(true) method (in principle at least) - while that isn't compatible with some more advanced multi-threading/multi-GPU modes (and also isn't easily exposed by FlightGear), you can manually set up/invoke the OSG optimizer directly by setting the corresponding environment variables - this can be set up analogous to how some folks have been setting up additional OSG pager threads (again, that will only be of interest to power users probably):
http://www.openscenegraph.org/index.php ... er-optionshttp://www.openscenegraph.org/index.php ... -osgviewer
OPTIMIZE_TEXTURE_SETTINGS
Sets the following value for all textures setUnRefImageDataAfterApply(true),
which comes down to the apply() function unreferencing the image data. If enabled, and the image data is only referened by this texture, apply() will delete the image data.
PS: This should also work for Canvas-heavy aircraft that don't need to runtime-modify the image after the texture is applied (e.g. livery use-cases) - there is a Canvas specific patch available on the wiki to enable this individually, i.e. per Canvas - rather than sim-wide.