Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-03 Thread Gijs de Rooy

 Rob wrote:
 However, would the one stated above prevent models which use submodels for 
 wing-flex effects 
 from appearing to have wings?  (Wait... are there any such models, or are the 
 wings animated 
 components of the main model?)

A much bigger problem are those aircraft (like my 744) that are split into 
several models, for easy 
maintenance/development. Wings, fuselage, gear area all seperate models, with 
seperate animation
files...

Cheers,
Gijs
  
_
Download gratis emoticons voor Messenger
http://www.rulive.nl/aspx/emoticons.aspx--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-03 Thread jean pellotier
Stuart Buchanan a écrit :

 Providing a higher granularity of control would be tricky but not
 impossible - I guess you could define a list of model names that
 are to be loaded completely...

   
could it be done per callsign, like the ignore chat message check box, 
with maybe a command line option to  set specific callsign in the load 
detailled group?

In case of formation flight (or dual control) we know the others 
callsign we want to have detailled planes, and not to load others models 
is sometimes good for the (not) induced lag, this can make possible 
formation aérobatics without too much lag from model loading.

my two cents...

jano

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-03 Thread Stuart Buchanan
Gijs de Rooy wrote:
 A much bigger problem are those aircraft (like my 744) that are split into
 several models, for easy
 maintenance/development. Wings, fuselage, gear area all seperate models,
 with seperate animation
 files...

I wasn't aware that we had any aircraft split up this way.

However, having thought about this a bit more, I think there's a straightforward
solution, which is to have a tag on the model to force sub-model
loading for that
model irrespective of the global setting. This could be set for the 747 and the
dual-control aircraft.

This would also remove the need to provide a separate list of aircraft
to be loaded
completely.

The downside is that it brings us back to square one if everyone is
flying the F14 !

-Stuart

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-03 Thread Gary Neely
On Sat, Apr 3, 2010 at 3:30 AM, Gijs de Rooy gijsr...@hotmail.com wrote:
 Rob wrote:
 However, would the one stated above prevent models which use submodels for
 wing-flex effects
 from appearing to have wings?  (Wait... are there any such models, or are
 the wings animated
 components of the main model?)

 A much bigger problem are those aircraft (like my 744) that are split into
 several models, for easy
 maintenance/development. Wings, fuselage, gear area all seperate models,
 with seperate animation
 files...

 Cheers,
 Gijs


I'd like to second Gijs' concerns here. I build my models in sub-units
partly to facilitate ease of maintenance and development, and partly
for easy LoD range logic. My model units tend to be: airframe,
external details (antennae, etc), external lighting rig, cockpit,
instruments, cabin, propellers. IIf I understand the proposal right, I
would be concerned about losing the propellers in an automatic AI
implementation.

I wonder if the proposed implementation might benefit from a new
optional element within models that allows the developer to specify
that the AI scheme must load the sub-model. For example:

...
model
  nameCockpit/name
  pathAircraft/Goose/Models/Goose_Cockpit.xml/path
/model
model
  nameExternal Lights/name
  pathAircraft/Goose/Models/Goose_Lights.xml/path
/model
model
  namePropellers/name
  pathAircraft/Goose/Models/Goose_Props.xml/path
  force-ai-importtrue/force-ai-import
/model
...

This might solve Gijs' problem as well.

Just a thought.

-Gary aka Buckaroo

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-03 Thread Stuart Buchanan
jean pellotier wrote:
 Stuart Buchanan a écrit :

 Providing a higher granularity of control would be tricky but not
 impossible - I guess you could define a list of model names that
 are to be loaded completely...


 could it be done per callsign, like the ignore chat message check box,
 with maybe a command line option to  set specific callsign in the load
 detailled group?

 In case of formation flight (or dual control) we know the others
 callsign we want to have detailled planes, and not to load others models
 is sometimes good for the (not) induced lag, this can make possible
 formation aérobatics without too much lag from model loading.

 my two cents...

That's an interesting idea. However, without looking at it in detail, I suspect
that we set the callsign for the other aircraft after the AI model has
been loaded,
at which point it is too late.

-Stuart

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-03 Thread Stuart Buchanan
Gary Neely  wrote:
 I'd like to second Gijs' concerns here. I build my models in sub-units
 partly to facilitate ease of maintenance and development, and partly
 for easy LoD range logic. My model units tend to be: airframe,
 external details (antennae, etc), external lighting rig, cockpit,
 instruments, cabin, propellers. IIf I understand the proposal right, I
 would be concerned about losing the propellers in an automatic AI
 implementation.

 I wonder if the proposed implementation might benefit from a new
 optional element within models that allows the developer to specify
 that the AI scheme must load the sub-model. For example:

 ...
 model
  nameCockpit/name
  pathAircraft/Goose/Models/Goose_Cockpit.xml/path
 /model
 model
  nameExternal Lights/name
  pathAircraft/Goose/Models/Goose_Lights.xml/path
 /model
 model
  namePropellers/name
  pathAircraft/Goose/Models/Goose_Props.xml/path
  force-ai-importtrue/force-ai-import
 /model
 ...

 This might solve Gijs' problem as well.

 Just a thought.

Good thought :)

My proposal above was something like this:


 force-ai-importtrue/force-ai-import
 model
  nameCockpit/name
  pathAircraft/Goose/Models/Goose_Cockpit.xml/path
 /model
 model
  nameExternal Lights/name
  pathAircraft/Goose/Models/Goose_Lights.xml/path
 /model
 model
  namePropellers/name
  pathAircraft/Goose/Models/Goose_Props.xml/path
 /model


but that would load all the sub-models, while your suggestion would
limit it to just the submodel selected.

-Stuart

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-03 Thread Anders Gidenstam
On Sat, 3 Apr 2010, Stuart Buchanan wrote:

 However, having thought about this a bit more, I think there's a 
 straightforward solution, which is to have a tag on the model to force 
 sub-model loading for that
 model irrespective of the global setting. This could be set for the 747 
 and the dual-control aircraft.

Hi,

If we are heading towards a solution that require the models to be updated 
is not better to go one or two steps further and try to devise a more 
satisfactory LOD mechanism for model loading?

My suggestion would be a range animation that defers loading of it child 
model until it is within range. This animation node could be 
automatically inserted as the root of a AI/MP aircraft model to implement 
a selectable range for loading the model but could also be used within 
the model XML files to implement hierarchical LOD model loading (like our 
current range animation can be used for LOD control during rendering).


Btw. some multiplayer features depend on that Nasal modules for a 
particular MP/AI aircraft is loaded at a larger than visual range, e.g. 
MP-Carrier, so defering model loading until the player is within the view 
frustum (as we did early on after the OSG migration) is also not a 
suitable solution. (Just in case we were heading back towards that.. :)


Cheers,

Anders
-- 
---
Anders Gidenstam
WWW: http://www.gidenstam.org/FlightGear/

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-02 Thread Stuart Buchanan
Jason Shepard  wrote:
 As far as what you have written here:

 1) As I understand this, it basically does exactly the same thing as going
 through the individual model files and removing the cockpits/interiors/etc.,
 correct?

Correct.

 a)  Would this work on single-player?

Yes, but there's unlikely to be much advantage as most of the AI models used
in single player (tanker, AI aircraft) are already low-poly models.

However, it does affect the Nimitz carrier, which is quite a detailed model, so
would benefit those seeing low FPS with the carrier.

 b)  If so, would we still have to maintain the AI model files or, with this
 patch included, would the AI aircraft be able to be read from the standard
 models folder thereby eliminating the needs for an AI branch on the FG
 tree?

There is still a place for the AI Models - this doesn't do anything about the
complexity of the main model, nor does it scale any textures.

However, it means there's no real need to create AI models for everything.

 2) I don't 100% understand how LOD works, but if I get it basically
 correctly, LOD reduces the resolution of a model based on the distance from
 your viewpoint that it is?  If this is the case, would it not stand to
 reason that there should be several different stages of LOD?  For example, a
 model made with 2048x2048 textures would be at full resolution within 5nm.
 From 5.1nm-10nm, it would be rendered at 1024x1024.  From 10.1nm-20nm, it
 would be rendered at 512x512.  Or am I way off-base here?  Is this even
 possible?

It is possible, but requires significant work on the part of the modeller.

In this case, the LOD means the range at which and aircraft will become
visible. At the moment this is hardcoded to 50nm.

-Stuart

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-02 Thread Stuart Buchanan
Csaba Halász wrote:
 Generally I prefer proper LOD and getting rid of specialized AI
 versions. I want to see AI/MP aircraft in full detail when I am near
 one - or even inside. Ideally I want to see all the instruments
 properly working when I hitch a ride using model+cockpit view. In the
 long run, I hope we will be able to couple animations to MP protocol,
 so that the required properties (and only those!) would be transmitted
 automatically as dynamically determined by the current LOD.

I prefer proper LOD as well, but it requires effort from modellers, and
there is still the overhead of loading the entire model, and keeping the
model in memory.

This approach simply allows a user to choose whether they want that
overhead or not.

To be perfectly honest, this is just a speculative piece of work. On my
new system, I don't have any problem handling KSFO on a busy day,
but I think it should help those on lower powered machines significantly.

-Stuart

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-02 Thread Rob Shearman, Jr.
Stuart:
 A number of people on the forums have mentioned performance issues on
 lower-spec system on MP, particularly due to loading complex models
 for other aircraft causing stuttering.

 In an effort to help with this I've been looking at two fixes:
 1) A control to disable sub-model loading for AI aircraft. This
 effectively stops the model loader from recursing into model 
tags,
 and therefore stops it from loading any sub-models such as cockpits,
 instruments, pilots etc.

I am in LOVE with any idea which reduces unnecessary lag time when flying over 
the multiplayer network.

However, would the one stated above prevent models which use submodels for 
wing-flex effects from appearing to have wings?  (Wait... are there any such 
models, or are the wings animated components of the main model?)

Cheers,
-R. (MD-Terp)
 Robert M. Shearman, Jr.
Transit Operations Supervisor,
University of Maryland Department of Transportation
also known as rm...@umd.edu


  --
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-02 Thread Rob Shearman, Jr.
Stuart:
 1) A control to disable sub-model loading for AI aircraft. This
 effectively stops the model loader from recursing into model 
tags,
 and therefore stops it from loading any sub-models such as cockpits,
 instruments, pilots etc.

Csaba:
 I want to see AI/MP aircraft in full detail when I am near
 one - or 
even inside.


Perhaps a range-test of 1-2nm (or even better, a configurable distance) on 
submodel loading?
 Robert M. Shearman, Jr.
Transit Operations Supervisor,
University of Maryland Department of Transportation
also known as rm...@umd.edu


  --
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-02 Thread Durk Talsma
Hi All,

On Friday 02 April 2010 09:19:45 am Stuart Buchanan wrote:

 Yes, but there's unlikely to be much advantage as most of the AI models
 used in single player (tanker, AI aircraft) are already low-poly models.

 However, it does affect the Nimitz carrier, which is quite a detailed
 model, so would benefit those seeing low FPS with the carrier.

  b)  If so, would we still have to maintain the AI model files or, with
  this patch included, would the AI aircraft be able to be read from the
  standard models folder thereby eliminating the needs for an AI branch
  on the FG tree?

 There is still a place for the AI Models - this doesn't do anything about
 the complexity of the main model, nor does it scale any textures.


In general, I'm in favor of Stuart's proposed patch, as long as it continues 
to play nicely along with the existing AI branch (I'm happy to help testing / 
committing in this respect).

Just to add some additional thoughts, the current scheme of using a separate 
AI branch was added back in the plib days, when LOD wasn't easily accessible, 
after I found out that the then current version of FlightGear wasn't able to 
handle the impact of 100+ aircraft placed in a scene by the traffic manager. 

If I understood correctly, one of the major advantages of OSG over plib is 
that it can do very clever LOD management, which -if effectively applied- 
could by itself reduce the amount of pausing due to aircraft model loading 
considerably.  So, if done correctly, we could happily use the regular 
aircraft models, also for AI /Multiplayer purposes, because most of the time, 
only the lower LOD versions would be active. This would probably give better 
performance than we currently have. In addition to that, we could also make 
more effective use of the incredible collection of liveries made by Brett 
Harrison, which quite a few magnitudes better then the rather bleak ones I 
made for the AI aircraft.

My own experience is that the AI/ Traffic Manager code in itself runs quite 
efficiently, but that the rendering of the AI models has a huge impact. 
Currently, for the AI code, the model isn't made visible until it gets close 
to the current visibility limit. Once that happens, and the AI models are set 
to become visible, that's where I usually notice quite a frame rate drop. 
Relatedly, when flying away from a busy airport, I notice quite an increase in 
performance, even though the AI aircraft are then still within visibility 
range. This actually makes me wonder whether there is something in the 
AIModels core code that makes the current rendering of AIModels rather 
inefficient. I'd be interested to hear one of our OSG experts' opinion on 
this.

Cheers,
Durk

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-02 Thread Stuart Buchanan
Rob Shearman, Jr.
 However, would the one stated above prevent models which use submodels for
 wing-flex effects from appearing to have wings?  (Wait... are there any such
 models, or are the wings animated components of the main model?)

I would expect that the wing flex would be an animated component of the main
model, just like flaps, gear etc. usually are.

However, if they were submodels, they wouldn't be visible.

-Stuart

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-02 Thread Rob Shearman, Jr.
Me:
 However, would the one stated above prevent models which use submodels for

 wing-flex effects from appearing to have wings?  (Wait... are there any such
 models, or are the wings animated components of the main model?)

Stuart:
 I would expect that the wing flex would be an animated component of the main
 model, just like flaps, gear etc. usually are.

Ah, okay -- I got my terminology confused for a second there.  Disregard.

-R.



  --
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-02 Thread Jason Shepard
Stuart:

 1) A control to disable sub-model loading for AI aircraft. This
 effectively stops the model loader from recursing into model tags,
 and therefore stops it from loading any sub-models such as cockpits,
 instruments, pilots etc.

Csaba:
 I want to see AI/MP aircraft in full detail when I am near
 one - or even inside.

Well, the only 2 ideas I have regarding this would be selectable options
within the FGRun GUI and/or the command-line:

1) An option to enable/disable the LOD capabilities of the program
2) An option to select either AI Models (simple) or AI Models
(advanced).
a) AI Models (simple) would be AI Models which always appear without
their interiors/cockpit installed.  This would be effective for those people
who do not hitch rides or who want best performance at all times.
b) AI Models (advanced) would AI Models which appear fully detailed at
the closest LOD limits.  This would be the best choice for those who like to
see their AI aircraft in full detail and jump onboard occasionally, like
Csaba.

Durk:

 So, if done correctly, we could happily use the regular
 aircraft models, also for AI /Multiplayer purposes, because most of the
time,
 only the lower LOD versions would be active. This would probably give
better
 performance than we currently have. In addition to that, we could also
make
 more effective use of the incredible collection of liveries made by Brett
 Harrison, which quite a few magnitudes better then the rather bleak ones I
 made for the AI aircraft.

As I have only recently noticed, there are only certain aircraft in my AI
Models folder - and not even close to the same number as I have downloaded
and installed.  This leads me to believe that only certain aircraft make use
of the AI Models directory and either a) those are the only AI Models that
you can have unless you create your own files or b) the other Models are
rendered as AI Aircraft from the original model files anyway.

If it is Option A, then I believe a solution to re-route our current AI
Models directory structure to our original models directory structure should
be implemented along with Stuart's control option to make it so that
separate AI Models would not have to be generated and stored separately.
This would reduce the overall size of FG (although probably not by much),
but it should also have the side benefit of simplifying some of the code
(since there wouldn't be 2 directory structures to do the similar actions),
correct?

If it is Option B, then we already have the file structure in place to use
Stuart's proposed modification to auto-create AI Models which would make
the AI Model tree unnecessary, correct?  Which would also mean that ALL of
our models would also be capable of being AI Models instead of only a
limited few.


Thanks,
Jason
--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-02 Thread Citronnier - Alexis Bory
Stuart Buchanan a écrit :

  In an effort to help with this I've been looking at two fixes: 1) A
  control to disable sub-model loading for AI aircraft. This
  effectively stops the model loader from recursing into model tags,
  and therefore stops it from loading any sub-models such as cockpits,
  instruments, pilots etc.

  Comments?

When using dual control like in Anders c172p-dual-control and
ZLT-NT blimp, or the f-14b-bs, the copilot is actually flying in an AI
model which needs all the eavy stuff we would like to disappear in
most other situations.

There is also a big demand of visual details and  eyes candy
from a important part of FG users and we can't neglect that.

Now, this leads effectively to a huge waste of h/w resources and
anyway much of all this eye candy stuff is not visible at more than
50ft. LOD animations works well for saving fps and the work
spent on it worth it.

The problem remains at AI aircraft load time and I think a majority
of user doesn't need to wait for the Tomcat to load each minute or
so.

In any case we should have the ability to choose what level of
detail we want. In a dream world this would be user definable and
on a per aircraft basis. This could be something like: use only light
AI models by default or define somewhere a list of aircrafts you
prefer to see a high level of detail. In the cases like dual-control,
modelers could add at run time the needed models to this list.

Alexis







--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-02 Thread Stuart Buchanan
Jason Shepard wrote:
 Stuart:
 1) A control to disable sub-model loading for AI aircraft. This
 effectively stops the model loader from recursing into model tags,
 and therefore stops it from loading any sub-models such as cockpits,
 instruments, pilots etc.

 Csaba:
 I want to see AI/MP aircraft in full detail when I am near
 one - or even inside.

 Well, the only 2 ideas I have regarding this would be selectable options
 within the FGRun GUI and/or the command-line:

 1) An option to enable/disable the LOD capabilities of the program
 2) An option to select either AI Models (simple) or AI Models
 (advanced).
     a) AI Models (simple) would be AI Models which always appear without
 their interiors/cockpit installed.  This would be effective for those people
 who do not hitch rides or who want best performance at all times.
     b) AI Models (advanced) would AI Models which appear fully detailed at
 the closest LOD limits.  This would be the best choice for those who like to
 see their AI aircraft in full detail and jump onboard occasionally, like
 Csaba.

That is indeed what I'm proposing :)

I should have been clearer in my original post - by having a control I meant
adding an entry in the property tree to toggle whether submodels are loaded
or not.

Similarly I am proposing setting the AI LOD distance from a property as well.

You can then set the property from the command-line, FGRun, or in-sim (though it
would only affect models loaded from that point).

-Stuart

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-02 Thread Stuart Buchanan
Alexis Bory wrote:
 When using dual control like in Anders c172p-dual-control and
 ZLT-NT blimp, or the f-14b-bs, the copilot is actually flying in an AI
 model which needs all the eavy stuff we would like to disappear in
 most other situations.

 There is also a big demand of visual details and  eyes candy
 from a important part of FG users and we can't neglect that.

 Now, this leads effectively to a huge waste of h/w resources and
 anyway much of all this eye candy stuff is not visible at more than
 50ft. LOD animations works well for saving fps and the work
 spent on it worth it.

 The problem remains at AI aircraft load time and I think a majority
 of user doesn't need to wait for the Tomcat to load each minute or
 so.

 In any case we should have the ability to choose what level of
 detail we want. In a dream world this would be user definable and
 on a per aircraft basis. This could be something like: use only light
 AI models by default or define somewhere a list of aircrafts you
 prefer to see a high level of detail. In the cases like dual-control,
 modelers could add at run time the needed models to this list.

My proposal is to allow the user to select (via a property) whether
they want to load the entire model or not, so there's no loss of
function.

So, I would envisage that those wanting to use the dual control
options would want to set this off. In fact, as it's a property
(say /sim/rendering/load-submodels), it could be set in the -set.xml
file. Though this goes against our general principle that the user has
control over features rather than the aircraft, I think in these special
cases where the dual-control simply won't work, we could make an
exception.

Providing a higher granularity of control would be tricky but not
impossible - I guess you could define a list of model names that
are to be loaded completely...

-Stuart

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-02 Thread Stuart Buchanan
For those interested in trying this out, I've uploaded a simple patch
to http://www.nanjika.co.uk/flightgear/ai.diff

It's not suitable for committing in it's present form - at the very
least the properties should be loaded from the FG tree rather than
SimGear and I'm not sure that the SGReaderWriterXMLOptions object is
the correct container for the switch.

To disable loading of submodels, set /sim/rendering/load-submodels=0

You can also set the LOD range for AI aircraft (though I haven't
tested this) by setting /sim/rendering/model-range-m to the required
range in m.

Note that neither of these settings are dynamic - they only take
effect for any new models that are loaded. So, they are best set from
the command-line.

-Stuart

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


[Flightgear-devel] Reducing AI Model complexity

2010-04-01 Thread Stuart Buchanan
Hi All,

A number of people on the forums have mentioned performance issues on
lower-spec system on MP, particularly due to loading complex models
for other aircraft causing stuttering.

In an effort to help with this I've been looking at two fixes:
1) A control to disable sub-model loading for AI aircraft. This
effectively stops the model loader from recursing into model tags,
and therefore stops it from loading any sub-models such as cockpits,
instruments, pilots etc. Note that this is generally better than
having a LOD node on the cockpit, because it doesn't even get as far
as loading the file, nor does the cockpit take up any space in the
scenegraph
2) A control to set the LOD for AI aircraft. Currently this is
hardcoded to 50nm, which is probably too far for most purposes.

I've got basic patches that allow these controls to be set by
properties at runtime, but which I think requires a bit more work
before submission.

Comments?

-Stuart

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-01 Thread Jason Shepard
As far as what you have written here:

1) As I understand this, it basically does exactly the same thing as going
through the individual model files and removing the cockpits/interiors/etc.,
correct?  If that is the case, I find this to be an excellent replacement
for having to depend on each individual modeler to create an AI model file
for every plane they generate.  This should significantly increase the
framerates within the MP environment.  My questions are these:

a)  Would this work on single-player?
b)  If so, would we still have to maintain the AI model files or, with this
patch included, would the AI aircraft be able to be read from the standard
models folder thereby eliminating the needs for an AI branch on the FG
tree?

2) I don't 100% understand how LOD works, but if I get it basically
correctly, LOD reduces the resolution of a model based on the distance from
your viewpoint that it is?  If this is the case, would it not stand to
reason that there should be several different stages of LOD?  For example, a
model made with 2048x2048 textures would be at full resolution within 5nm.
From 5.1nm-10nm, it would be rendered at 1024x1024.  From 10.1nm-20nm, it
would be rendered at 512x512.  Or am I way off-base here?  Is this even
possible?

-Jason

On Thu, Apr 1, 2010 at 5:52 PM, Stuart Buchanan stuar...@gmail.com wrote:

 Hi All,

 A number of people on the forums have mentioned performance issues on
 lower-spec system on MP, particularly due to loading complex models
 for other aircraft causing stuttering.

 In an effort to help with this I've been looking at two fixes:
 1) A control to disable sub-model loading for AI aircraft. This
 effectively stops the model loader from recursing into model tags,
 and therefore stops it from loading any sub-models such as cockpits,
 instruments, pilots etc. Note that this is generally better than
 having a LOD node on the cockpit, because it doesn't even get as far
 as loading the file, nor does the cockpit take up any space in the
 scenegraph
 2) A control to set the LOD for AI aircraft. Currently this is
 hardcoded to 50nm, which is probably too far for most purposes.

 I've got basic patches that allow these controls to be set by
 properties at runtime, but which I think requires a bit more work
 before submission.

 Comments?

 -Stuart


 --
 Download Intel#174; Parallel Studio Eval
 Try the new software tools for yourself. Speed compiling, find bugs
 proactively, and fine-tune applications for parallel performance.
 See why Intel Parallel Studio got high marks during beta.
 http://p.sf.net/sfu/intel-sw-dev
 ___
 Flightgear-devel mailing list
 Flightgear-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/flightgear-devel

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Reducing AI Model complexity

2010-04-01 Thread Csaba Halász
On Fri, Apr 2, 2010 at 12:52 AM, Stuart Buchanan stuar...@gmail.com wrote:
 Hi All,

 In an effort to help with this I've been looking at two fixes:
 1) A control to disable sub-model loading for AI aircraft. This
 effectively stops the model loader from recursing into model tags,
 and therefore stops it from loading any sub-models such as cockpits,
 instruments, pilots etc. Note that this is generally better than
 having a LOD node on the cockpit, because it doesn't even get as far
 as loading the file, nor does the cockpit take up any space in the
 scenegraph
 2) A control to set the LOD for AI aircraft. Currently this is
 hardcoded to 50nm, which is probably too far for most purposes.

Generally I prefer proper LOD and getting rid of specialized AI
versions. I want to see AI/MP aircraft in full detail when I am near
one - or even inside. Ideally I want to see all the instruments
properly working when I hitch a ride using model+cockpit view. In the
long run, I hope we will be able to couple animations to MP protocol,
so that the required properties (and only those!) would be transmitted
automatically as dynamically determined by the current LOD.

Speaking of stuttering, another issue reported on the forums and also
experienced by me, is periodic (~1s) stutter even with plenty of FPS.
That is with AI traffic (both kinds) and replay turned off,
single-player. I couldn't determine the cause yet. Anybody have an
idea?

-- 
Csaba/Jester

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel