Hackathon Proposal:Feature Scaling

From FlightGear wiki
Revision as of 10:27, 15 October 2020 by Hooray (Talk | contribs) (https://sourceforge.net/p/flightgear/mailman/message/37129556/)

Jump to: navigation, search
WIP.png Work in progress
This article or section will be worked on in the upcoming hours or days.
See history for the latest developments.

Title: Automatic/abstracted rendering settings (Feature Scaling)

screen shot showing the OSG on-screen stats
Interested Parties: please add yourself if you are interested in working on this
Status: n/a
Summary: a test mode, which flies a 30 second replay tape with the C172 around Hawaii, measures the FPS and repeats for each graphical config: that would be reasonably simple to code up, and give something approximating a sane value (modulo all the zillion ways it can screw up, but…) [1]
Background: There is a performance problem in OSG with too many LOD nodes deep down in the tree, but that’s the usual ‘too many nodes == small batch sizes == too many draw calls == sucky performance’ problem.

But there’s no problem with LOD nodes per-se, they just need to be high up in the tree, switching large amounts of stuff, eg a complete tile, not one window on the front door of a house :) And OSG LOD nodes can use distance or screen-space pixel metrics, and they update per frame, so you could absolutely increase the visibility, but reduce the detail levels, with increasing altitude; turning off trees, OSM buildings, and then /all/ objects. [2]

Required skills: Property tree, PropertyList XML File, Nasal, Instant Replay, Fgtape, Logging properties
Learning Opportunities:

Notes: You know this is already mostly implemented right?


The only drawback is that it is currently aimed at a specific card from a specific vendor. This might need to be altered to get one configuration file to work for a complete range of video cards.

There is even an option in the debug menu to dump all required settings from the current configuration to an XML file which can be directly copied to FGData. But these settings might not be up to date anymore.[3]