Board index FlightGear Development Aircraft

Su-15

Questions and discussion about creating aircraft. Flight dynamics, 3d models, cockpits, systems, animation, textures.

Re: Su-15

Postby Hooray » Mon Nov 16, 2015 11:34 am

I was thinking hard how to come up with matching analogies, but I didn't quite find a layman analogy describing what you are doing and what we are seeing - so let's try this:

This is your perspective (saying the road sucks, the car does not drive properly):
Image

And here's what we can see, and what we have independently confirmed by now:
Image

(would you fix up the road first or change something about the car ?)

In addition, your scenery related settings are masking everything else, like Thorsten said.
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: 11786
Joined: Tue Mar 25, 2008 8:40 am

Re: Su-15

Postby Thorsten » Mon Nov 16, 2015 12:27 pm

Speaking of which, Thorsten, what did you think of methods?


I guess it all hinges on the question you want to answer.

* for a particular user, we typically want to know what the bottleneck determining the performance seen actually is.

* for deciding upon how to code a feature, we want to see how fast one alternative way as compared with the other is, i.e. we need to either benchmark the feature in isolation or rig the situation that the feature to be tested is the bottleneck

* for deciding what to focus optimization onto, we want to find out what the tradeoff between typical bottlenecks is (usually you can trade performance against memory for instance)

* for deciding what features to default to, we want to know how a typical computer performs with all settings at default

I guess most important is that you know what your test has measured and what it hasn't measured - once you understand that, it doesn't matter so much what precisely you do. Whereas if you don't understand what your benchmark does, you end up drawing the completely wrong conclusions.

For the question at hand, I'm interested in a) whether a typical user can use the aircraft at all b) how it performs in comparison with an optimized aircraft of similar quality in FDM and visuals and c) what the cause of the difference is.

For that, I think the 7 fps with the Su-15 vs. the 25 fps for the F-15 at EGOD under identical conditions were most revealing. We see a user having adjusted settings such that he can fly with a high-quality plane at 25 fps, so the user isn't obviously limited by the visible scenery - and changing to a plane of similar quality lets the fps drop to unusable. It tells us that the plane is very much not optimized in comparison to the F-15.

We might rig this comparison, for instance setting vegetation density high enough, the same user would be driven to 3 fps even with the ufo, and the choice of plane wouldn't make a difference. But that is not how this user is typically operating FG, so it's not that relevant. We might also study the FDM in isolation, and we'd presumably find that the Su-15 is heavier. However, given that there's no evidence that the FDM leads to a bottleneck anywhere, it doesn't matter whether it's heavier or lighter.

(We may reasonably ask the question whether it is optimized, for instance in the Space Shuttle I'm only running systems and fcs channels I actually need to run which makes the FDM probably half of what it'd be if I would not optimize it, but I suspect in the overall scheme of things this doesn't matter too much because rendering is much heavier)

I think we've seen the same theme (far too vertex-heavy model for the visuals it provides) from a number of angles now, and as I said previously, there's a reason real-time 3d rendering has introduced normal maps and similar techniques - you can construct use cases under which this isn't apparent (very powerful GPU in combination with choking the system with other settings for instance), but it doesn't mean it doesn't matter in general.

You can of course argue 'I don't ever want to optimize, I want users to buy expensive hardware' - and since a plane is in a sense an optional feature, that's your choice as a developer. I think it's a pretty poor strategy, but hey - I don't need to fly the plane, right?
Thorsten
 
Posts: 11616
Joined: Mon Nov 02, 2009 8:33 am

Re: Su-15

Postby Hooray » Mon Nov 16, 2015 12:47 pm

I believe we should be adding even more draw masks so that we are able to entirely disable rendering of certain elements in the scenegraph (e.g. PUI, Canvas, but also the skydome itself). That way, people who may be vertex-limited can easily determine if disabling certain scenegraph elements has any impact or not.
I've been in touch with Hamza behind the scenes, to see if we can come up with a higher level way to provide such data, and maybe even a user interface.

innside fgfs we could directly show a dialog, along the lines of:

LOCATION: KSFO
AIRCRAFT: Su-15

max fps without scenery/terrain and aircraft: 800 fps (baseline)
max fps without scenery/terrain = 600 fps (25% impact)
max fps without aircraft: 400 fps (50% impact)

And then change other factory dynamically (LOD ranges ,visibility time of day, effect/shader settings etc)

I would use a Canvas dialog for this, and disable everything PUI.
But the GUI dialog (Canvas) would only be used for visualizing the results after the test.

First, before showing the dialog, it would record non-Canvas baseline, then it would show the dialog and display the effect of the single dialog, as well as the impact of disabling other draw masks.

And then it could sample the effect on frame rate/spacing by comparing previous results, which is as objective/neutral as we can be - i.e. things would still be system specific, but we could also get this added to fgdata, and in the meantime ask people to run this "dialog" (test). And we could show a percentage next to it, too.

We could then refine the "benchmark" dialog to add more situations/tests to it, and even load/run scripted flights (tapes etc) if we wanted to.

If we can get reset/re-init to work, we could even run this test for different aircraft and show a side-by-side comparison/table (Su15 vs. f15 vs. ufo)


Hooray wrote:Here's the basic idea (proof-of-concept for now):

http://wiki.flightgear.org/Talk:FlightG ... gui_dialog
Image
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: 11786
Joined: Tue Mar 25, 2008 8:40 am

Re: Su-15

Postby Richard » Wed Nov 18, 2015 1:09 am

I've found the discussion about performance and optimisations very interesting and I really like the SU-15 ; it's a great aircraft and I thank vitos for making it.

The licencing debate concerns me a little. As members of the FlightGear community we should respect the way vitos has licenced his creation[1].
Thorsten wrote in Mon Nov 16, 2015 7:02 am:
I do not care about what You thinking about it, and any Your views on that.

Go to a lawyer of your choice and ask him to explain the GPL license to you....


I always thought it was an accepted principal that the GPL from FG did not cover aircraft models and it was up to the creator to licence it.

Thorsten wrote in Thu May 21, 2015 5:13 am:There is code which is based on GPL material I have expanded which is then automatically GPL by inheritance. There is also stuff I have written from scratch not based on any material, for which I then hold the copyright and which I can license when and how I like.


I support vitos's right to licence his creation as he wishes. He could also revoke his Fly Only Licence if he so wished and I would support that and remove it from my system. I could also choose to remove it from my drive if I wished[2]

In terms of model complexity and performance the SU-15 works acceptably on my R9-290 which I don't think you could call a high end card, eventually hardware will catchup with the model. Anything that effects the whole of FlightGear needs to be as performant as possible given limitations of developer time and what is possible - a model isn't really that important as we don't have to fly it even if it looks great.

I now realise that I've just wasted an hour writing this when I should have been spending free time doing something constructive like finishing the PFD.... (and it's not like I've got a lot of free time at the moment either). I will therefore remember this next time I think about writing a reply like and instead concentrate on getting things done rather than getting drawn into heated debates.

-----
[1] The only certainty when visiting a lawyer is the payment of their fees at the end. It would be up to a judge in whatever jurisdiction any case was brought to decide whether or not a work is derivative of FlightGear and is therefore covered that GPL.
[2] I've only managed to fly it briefly after spending some time matching Cyrillic characters with the flightdeck (and reading the Mig-15 instructions) before getting it started.
Richard
 
Posts: 772
Joined: Sun Nov 02, 2014 10:17 pm
Version: Git
OS: Win10

Re: Su-15

Postby Thorsten » Wed Nov 18, 2015 6:39 am

I always thought it was an accepted principal that the GPL from FG did not cover aircraft models and it was up to the creator to licence it.


Note that this has nothing to do with FG or what we as a community want to do or what we accept but is just a statement on what is demanded by the GPL license. GPL contains the 'viral' licensing provision, i.e. if you create something based on GPL stuff, you have to license it GPL. The case most known is of course that you take a piece of GPL code and add to it - in which case it also has to be GPL.

But Edward recently taught me a few interesting things about how GPL actually works in less known context - relevant here, we had an instructive discussion about what happens when you bundle something with GPL content and reviewed what the Free Software Foundation has to say on that point.

The relevant distinction is whether you introduce a dependency on GPL material, notable by the runtime exchange of information back and forth from your own material and the GPL material you're bundling with (as Hooray put it The only distinction that the GPL makes is that code has to be running the same process/address space as the GPL'ed code - which is to cover DLLs, DSOs, dynamically linked libraries.).

So you can not bundle your own code with a GPL'd dll and license the bundle under something that is not GPL.

That's what triggers here - the Su-15 Nasal code is explicitly calling functions of the GPL licensed Nasal libraries of FG (and would not run if you'd remove these libs) - and the GPL license states quite clearly that under these conditions you can not license the code that uses these Nasal libs under something that is not GPL.

The distinction between my case (from where you took the quote) and vitos' case is twofold:

First, JSBSim is actually not GPL but LGPL licensed, so there is no similar licensing requirement, and second the dependency of FDM on, say, the 3d model is just not existent (they're tied using the aircraft-set.xml which is sort of a batch file, and batch file setups are listed as not constituting a dependency - having said that, Edward actually takes a more stringent view on that and argues even aircraft-set.xml may be a dependency).

I support vitos's right to licence his creation as he wishes.


That's kind of you, but just not relevant. It's not a community decision to make, nothing to vote on, it's just how GPL works. Your support has no influence on the legal situation we're in.

Having said that, I would respect vitos wishes how he wants the aircraft treated even without any licensing provisions, but that's not how the law works here.

eventually hardware will catchup with the model.


In the rest of the world, you're not going to be celebrated for achieving the same result as X, but doing it with four times the performance consumption - you're going to be celebrated if you can do the same thing with a quarter of the performance consumption.
Thorsten
 
Posts: 11616
Joined: Mon Nov 02, 2009 8:33 am

Re: Su-15

Postby Richard » Wed Nov 18, 2015 8:26 am

Thorsten wrote in Wed Nov 18, 2015 6:39 am:Note that this has nothing to do with FG or what we as a community want to do or what we accept but is just a statement on what is demanded by the GPL license. GPL contains the 'viral' licensing provision, i.e. if you create something based on GPL stuff, you have to license it GPL. The case most known is of course that you take a piece of GPL code and add to it - in which case it also has to be GPL.


How we behave as a community is more important than using legal arguments that are interpretations of evidence until a judgement has been made in a court of law. Until a judgement is made the GPL is merely a piece of evidence awaiting submission for legal argument in court on which a judge will rule.

If you do not modify, distribute or bundle FlightGear with a model it is clear (to me) that the GPL from FlightGear does not apply to the model. (section (0) "This licence applies to" ... "a work containing the Program or a portion of it," and "Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted,". There is an entry in the GPL FAQ relating to interpreted software and in this sense a model is data http://www.gnu.org/licenses/old-license ... reterIsGPL

Finally Section 5 of the GPL v2 - "You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works". A modeller does not have to distribute or modify FlightGear to distribute their model and therefore not bound by the GPL on FlightGear.

To sum up my view, discussing GPL or licencing is a waste of effort[1] and it is our community standards, and respect for each other that is important.

Someone outside of these forums and the mailing list could find and benefit from flying a very nice SU-15 in FlightGear for free, thanks to the contributors to FlightGear and thanks to vitos for providing the model; and to me that is probably what's important.

[1] I realise that I am my effort writing this is unproductive and better spent on coding.
Richard
 
Posts: 772
Joined: Sun Nov 02, 2014 10:17 pm
Version: Git
OS: Win10

Re: Su-15

Postby bugman » Wed Nov 18, 2015 9:25 am

It's a grey area that's not worth talking about. But I think I need to clear up a few things. For example FGData is essentially a 'GPL licensed library'. It's clear that including any parts of FGData in an aircraft, linking to it via a single XML or Nasal line, an aircraft must be GPL. That is indisputable. Therefore the Su-15 cannot share elements with GPL aircraft, and cannot use useful features found in FGData. Collaboration on such technology is not possible, and Vitos is rightfully reimplementing everything from first principles, as he is legally required to do.

If the Su-15 does not include or link to any parts of FGData, or have derivative copies of content from FGData, then that's a non-issue. Running in the simulator or being in the virtual world is also grey, but it is unlikely that the GPL is enforceable there. This is not including GPL material or even linking to it, so the GPL clauses are not triggered. Anyway, only the courts can determine who is right or wrong if there are any shades of grey.

Regards,
Edward
bugman
Moderator
 
Posts: 1777
Joined: Thu Mar 19, 2015 9:01 am
Version: next

Re: Su-15

Postby Thorsten » Wed Nov 18, 2015 9:32 am

How we behave as a community is more important than using legal arguments that are interpretations of evidence until a judgement has been made in a court of law.


I'm sorry, but I do think it is important that the behaviour of the community is aligned with the law in such a way as to avoid trouble - we can, as a community, opt to not exploit the full freedom of the law (and we are usually doing that in honoring aircraft creator's wishes and not doing all the things which the GPL allows us to do), but we can not opt to do things not permitted by the law.

Which means, I can't decide to give vitos the freedom to do something the GPL license does not permit. And I think it's important to raise an awareness in the community what we can and can not do before there is a court case.
Thorsten
 
Posts: 11616
Joined: Mon Nov 02, 2009 8:33 am

Re: Su-15

Postby Hooray » Wed Nov 18, 2015 9:54 am

I agree with Richard in that the choice of words was unfortunate in some responses, but that was certainly due to the heated atmosphere - frankly, the Su15 does NOT "suck", it just seems very unoptimized - especially compared to other aircraft.
And the people who could do something about that, don't seem to understand the advice we are giving here.

Apart from that, the GPL is pretty clear about this and what you can/cannot do.

But overall, it is true that it is moot to discuss this - simply because FG as a project, tends to chose the path of least resistance anyway - i.e. we don't really enforce the rights/duties of the GPL, but instead even remove contributions where we the legal standing is perfectly clear:

http://sourceforge.net/p/flightgear/mai ... /33503412/
James Turner wrote:Even though the content is GPL licensed, we have generally been much more concerned about individual author’s wishes than the letter of the GPL when it comes to changes and updates.

When you make proposals here, you shouldn’t expect them to reply (they are too busy), but they /will/ be upset or walk away, if you screw up their work they’ve put hundreds of hours into. Even if it’s only a copy.


With that in mind, the main repercussions such activities will have, are other projects shipping FG (e.g. distros like debian, which don't screw with licensing)
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: 11786
Joined: Tue Mar 25, 2008 8:40 am

Re: Su-15

Postby Thorsten » Wed Nov 18, 2015 11:14 am

But overall, it is true that it is moot to discuss this - simply because FG as a project, tends to chose the path of least resistance anyway


That's not at all what I see the discussion being about. I don't think anyone had actual plans to do anything with vitos' creation (I certainly made a statement much earlier that if it's not GPL, I won't even download it).

It's rather about refuting too strong claims that have been made:

* vitos claims to be the best aircraft developer around - we've established that that's not true, because in actual fact what he does is not particularly optimized and could be done at the same quality with much less performance footprint

* vitos claims FG can't do without him - and we've seen that we can do perfectly fine, that we have projects being even more detailed or realistic than his, and that in fact his aircraft aren't even really often used (because of performance problems)

* vitos claims to have the right to completely control what we do with the aircraft via the license, again that's not true because in actual fact to the degree that the code alls routines from libs in FGData, that code must be GPL licensed

The main point of refuting claims is again not to convince vitos, but to help other readers understand what is happening. I think people do benefit from understanding why it's bad to use vertices for something a normal map can do for instance.

Having said that, I think vitos is a very gifted developer and have said that before, I think his work would get even better if he'd bother to understand optimization, and while I have a legal right to do GPL stuff with the Nasal code, I personally wouldn't exercise that right for the simple reason that he asked me not to.
Thorsten
 
Posts: 11616
Joined: Mon Nov 02, 2009 8:33 am

Re: Su-15

Postby vitos » Mon Nov 30, 2015 6:16 pm

Update: missiles. "Real" in same degree as plane model - jsbsim as calculator accounts datcom made polars and moments on base of quite simply atmosphere model. It's possible to "catch" multiplayer target.

Image

Image
Waste of time: too unprofitable for work, too exhausting for hobby.
User avatar
vitos
 
Posts: 615
Joined: Sun Jan 25, 2009 8:10 pm
Location: Moscow, Russia
Callsign: vitos
IRC name: vitos
Version: 3.4
OS: Debian

Re: Su-15

Postby vitos » Wed Dec 02, 2015 11:25 pm

Small update: Lazure infoline shows only targets flying higher than 500m. Ground radar just can not see lower. Accordingly, at flight lower than 500m altitude and speed of target is visible only - radar can not calculate relative data.

Good part is that it shows course and distance to nearest runways at third code now. In 50km radius - at flight lower than 500m too, it's matter of airport services.

Image

Plus some minor fixes - faster to do than to explain.

Little remainder: model is available for download at my site too:

http://autopsi.info/Su-15/Su-15.zip
Waste of time: too unprofitable for work, too exhausting for hobby.
User avatar
vitos
 
Posts: 615
Joined: Sun Jan 25, 2009 8:10 pm
Location: Moscow, Russia
Callsign: vitos
IRC name: vitos
Version: 3.4
OS: Debian

Re: Su-15

Postby PINTO » Wed Dec 02, 2015 11:36 pm

This is awesome! Keep up the good work.
Actively developing the MiG-21bis (github repo) (forum thread) (dev discord) (fg wiki)

http://opredflag.com is an active flightgear dogfighting community (using a system that isn’t bombable)
User avatar
PINTO
 
Posts: 961
Joined: Wed Oct 21, 2015 6:28 pm
Callsign: pinto
Version: 2016.3.0
OS: Win10

Re: Su-15

Postby vitos » Tue Dec 08, 2015 10:23 am

Update: network protocol allows one "Su" launch missile at other way making that other see it, flight of it and lamp of catch including. I treat that as sport, so without explosions and breakages, training missiles. But technically it is possible to make battle ones too.

Actually I would like to share that part with GPL, so put it of plane model aside - it's so ugly in core that will not go anywhere than to FG anyway. People dealt with FG multiplayer protocol sure knows what I mean - twenty first century and we are still in need to translate numbers into printable characters to fit it into 256 or so chars for all string messages altogether in sum, since it's only option to set twenty numbers aside of ones plane model sent already. It's so gay that only Freddie Mercury song can illustrate that.

Anyway, at user side it's quite easy to use. Up to 4 flying missiles per user is available, tested with two, plus possibility to say that other player is screened with radar, and, of course, had short catch with missile. To add other missiles or effects is quite easy too. To other users it's clear and fine - one with model without protocol installed will not see nor missiles, nor messages.

Screen is tech one, better will be when someone else would install model - my computer is not powerful enough to run two FGs with large models.

Got it?

Image
Waste of time: too unprofitable for work, too exhausting for hobby.
User avatar
vitos
 
Posts: 615
Joined: Sun Jan 25, 2009 8:10 pm
Location: Moscow, Russia
Callsign: vitos
IRC name: vitos
Version: 3.4
OS: Debian

Re: Su-15

Postby Thorsten » Tue Dec 08, 2015 11:51 am

Note that there's an ongoing effort for Scripted AI objects to which this would best contribute.
Thorsten
 
Posts: 11616
Joined: Mon Nov 02, 2009 8:33 am

PreviousNext

Return to Aircraft

Who is online

Users browsing this forum: laskluen, Robertfm and 6 guests