Board index FlightGear Development New features

Automatic selection of Rendering settings

Discussion and requests for new features. Please note that FlightGear developers are volunteers and may or may not be able to consider these requests.

Automatic selection of Rendering settings

Postby Parnikkapore » Thu Jan 14, 2016 4:54 am

There are free alternatives to every program you encounter. You just have to find them.
Parnikkapore
 
Posts: 818
Joined: Thu Oct 29, 2015 10:16 am
Callsign: HS-FGS
Version: next [PPA]
OS: Mint 18

Re: Automatic selection of Rendering settings

Postby Hooray » Thu Jan 14, 2016 5:28 pm

That's not a new idea, for some background/ideas, see: http://wiki.flightgear.org/Feature_Scaling
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11493
Joined: Tue Mar 25, 2008 8:40 am

Re: Automatic selection of Rendering settings

Postby hamzaalloush » Thu Jan 14, 2016 5:36 pm

it'll be quite amazing if this is done correctly, but i guess we would go into alot of philosphical debates on this, not to mention how we still don't understand collectively how rednering settings affect thing, and how we still don't have the much needed osg stats exposed, which are most important for an evaluation, plus... i guess exposing .ac model data, then filtered by number of drawables, then eleminating variables that subtract for the evaluation, would really need regorious study.... we already have only a handful of people who can evaluate properly the scene and use deduction to acheive proper analysis, but they are all busy, and not exactly pushing the auto feature scaling solution, instead they are mostly comfortable with exposing adavaned setting that the user must learn to operate to achieve what he wants.
hamzaalloush
 
Posts: 632
Joined: Sat Oct 26, 2013 9:31 am
OS: Windows 10

Re: Automatic selection of Rendering settings

Postby Hooray » Thu Jan 14, 2016 5:40 pm

either way, the first step would be exposing more metrics at the property tree level, so that these can be evaluated/analyzed and processed elsewhere, no matter if that is for "feature scaling" purposes or even just for benchmarking/profiling.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11493
Joined: Tue Mar 25, 2008 8:40 am

Re: Automatic selection of Rendering settings

Postby hamzaalloush » Thu Jan 14, 2016 5:43 pm

I agree that would amazing, even if its just to record these into a log file!!!! it will be good to add this as a first step in the auto feature scale article!

alot of times i wished i could have draw and cull etc, osgstats aside my fps/ms metrics, thumbs up for a great idea, i guess something we have to push for a solution, make it materialize regardless of the prospects, and then if it is something beneficial people can be more aware about it.

edit: i think osg is a powerful and diverse enough application, that there must be an api/method somewhere that "somebody" adopted in the past, to do this.
hamzaalloush
 
Posts: 632
Joined: Sat Oct 26, 2013 9:31 am
OS: Windows 10

Re: Automatic selection of Rendering settings

Postby Hooray » Thu Jan 14, 2016 5:53 pm

The OSGStatsHandler is what you are looking for, it is what is internally used to collect different statistics.
In its current form, it is specific to OSG stuff (rendering, draw/cull, update etc) - but it can be extended to also sample other data (think SGSubsystem, Nasal GC etc)

The log file thing can be accomplished once such data is available in the form of properties.

Feature scaling is a complex matter like Thorsten mentioned on the devel list, because some dependencies are not directly obvious, i.e. there may even be latencies involved before a certain feature shows up - imagine paging, swapping etc.

However, a simple form of benchmark would seem possible to implement with very minor additions.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11493
Joined: Tue Mar 25, 2008 8:40 am

Re: Automatic selection of Rendering settings

Postby hamzaalloush » Thu Jan 14, 2016 5:58 pm

oh... so we have a more effecient solution then, tat will work for now, without exposing such metrics, but that is specific to benchmarking? would we want to expose drawables for examples, especially when making a point about the scenegraph vs model limited conclusion, now we are back at philosophy, which is why i think we need to join people on board with this familiar with rendering, i can think of a few... anyway, i think this is constructive decision, i like that you are motivated, i am too in this regard.
hamzaalloush
 
Posts: 632
Joined: Sat Oct 26, 2013 9:31 am
OS: Windows 10

Re: Automatic selection of Rendering settings

Postby Hooray » Thu Jan 14, 2016 7:20 pm

the thing is that there is a certain cost associated with collecting all that data, you have certainly noticed that when cycling through the various OSG stats-sampling modes, at some point, just collecting so much data is adding to the workload.

The whole OSGStatsHandler thing is already customized in FG as far as I remember, via something like FGStatsHandler, which is a sub-class of osg::StatsHandler.

The statshandler implementation itself does not necessarily have to be restricted to rendering only, and it also does not need to be restricted to just visualizing that data "live", i.e. it could also write such data to a log file (or the property tree).

However, the property I/O would be fairly massive - and we also need to keep in mind that depending on the OSG threading model, multiple threads may be in use, and that the property tree code is generally not threadsafe
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11493
Joined: Tue Mar 25, 2008 8:40 am

Re: Automatic selection of Rendering settings

Postby hamzaalloush » Thu Jan 14, 2016 7:38 pm

I know, even the super efficient osg stats is a *slight* hog, but i guess we would ever reach proper feature scaling without it, it is the most important stats because it's our native rendering engine, nothing added....

i also noticed, that when invoking the performance monitor from the cmdline and loggin sub-systems, it is much more costly than say just log FPS/ms, i don't remember the details but i observe this.

it is multi-tier, but who would go through all trouble, we need to make a sound case first, we need someone to be able to weigh the pro's/con's about implementing this logging, or just skip the whole idea all together, maybe some rendering engines are better than most here in this case?

because at some point, this will seem more like a study simulator sacrificed for monitoring flight and rendering properties, rather than become a usable day to day one for average users....

i dunno, the last two paragraphes are just my opinion, i could be wrong.

i mean, feature scaling is a nice idea, but i don't think tripple A games use them alot, for example, they instead use driver side and config file based optimization, depending on your hardware, by use of one software to scan games and perform this(not at run-time, before the game starts), by download profiles and applying settings offline, using Gefore Experience for example.

while some games use it, like for example Wargame: Airland Battle:

it detects graphic setting by doing a terrain loading cycle, and i guess a couple of tricks to figure where your card is limited reducing/increasing resolution in the test phase, to figure if your fill-rate limited to example, sorry for the mumbo-jumbo, but it is sophisticated, and we must have thought this through with rendering experts.

p.s: i'll post a slide from Nvidia website, for developers to figure out how your hardware limited, doing some simple tests.

edit, here you go... : Image

and the full link, with the mumbo-jumbo techo speek http://http.developer.nvidia.com/GPUGems/gpugems_ch28.html
hamzaalloush
 
Posts: 632
Joined: Sat Oct 26, 2013 9:31 am
OS: Windows 10

Re: Automatic selection of Rendering settings

Postby Hooray » Thu Jan 14, 2016 9:47 pm

at the very least, heuristics like those could be used to tell end-users if, how/why, they are limited and what they can do about that.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11493
Joined: Tue Mar 25, 2008 8:40 am

Re: Automatic selection of Rendering settings

Postby Parnikkapore » Fri Jan 15, 2016 1:27 am

Thanks,seems more positive(and welcoming)than the Shuttleman's post on the mailing list;D

Gr8 job u all!
There are free alternatives to every program you encounter. You just have to find them.
Parnikkapore
 
Posts: 818
Joined: Thu Oct 29, 2015 10:16 am
Callsign: HS-FGS
Version: next [PPA]
OS: Mint 18

Re: Automatic selection of Rendering settings

Postby Hooray » Fri Jan 15, 2016 1:47 am

Parnikkapore wrote in Fri Jan 15, 2016 1:27 am:Thanks,seems more positive(and welcoming)than the Shuttleman's post on the mailing list;D


The "shuttle man" (BTW:I am certain Thorsten will appreciate his new nickname !) still is right about what he said - he responded specifically to your question, i.e. feature-scaling in the scope of rendering.

while we, here on the forum, ended up talking abou the lower-level building blocks required to implement something like that "eventually" - i.e. in terms of additional metrics, properties that are needed, and how those could be useful regardless of feature scaling (think troubleshooting, benchmarking etc).

Working feature-scaling is a completely different thing in that it shares the same building blocks, but the requirements are not very straightforward, i.e. may even change dynamically, depending on what subsystems are doing under the hood (think scenery/terrain paging).

However, a simple form of feature-scaling would seem possible to prototype - for that, I suggest to review the wiki link I posted previously, and you will see that a number of core developers have been wanting to implement such a scheme for years.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11493
Joined: Tue Mar 25, 2008 8:40 am

Re: Automatic selection of Rendering settings

Postby Parnikkapore » Fri Jan 15, 2016 3:33 am

Before 3.0 ...
There are free alternatives to every program you encounter. You just have to find them.
Parnikkapore
 
Posts: 818
Joined: Thu Oct 29, 2015 10:16 am
Callsign: HS-FGS
Version: next [PPA]
OS: Mint 18

Re: Automatic selection of Rendering settings

Postby jarl.arntzen » Wed Feb 24, 2016 1:46 pm

(Very) quick suggestion:

1. Decide that 15 FPS at KSFO is the target frame rate.
2. Start with switching on features/rendering levels one by one until framerate dips below 15 FPS. (Anti-aliasing, ALS, ocean rendering etc)
3. Max settings achieved.

This really just emulates what the user would do anyway... :mrgreen:
Frequent Flyer. Occasional Lander.
jarl.arntzen
 
Posts: 106
Joined: Thu Jan 03, 2013 9:43 pm
IRC name: Jarl Arntzen
Version: 2017.1.1
OS: Ubuntu 14.04

Re: Automatic selection of Rendering settings

Postby Thorsten » Wed Feb 24, 2016 3:13 pm

... to discover that after takeoff when the visibility opens up, his framerate takes a plunge.

I'd be quite annoyed if a software would try adjust settings automatically and even more annoyed if it'd aim at 15 fps when I want 60.
Thorsten
 
Posts: 11378
Joined: Mon Nov 02, 2009 8:33 am

Next

Return to New features

Who is online

Users browsing this forum: No registered users and 2 guests