Jump to content
Sign in to follow this  
Nicodemus

Dynamic 3D Autogen Vegetation - SpeedTrees...demystification

Recommended Posts

Hello all,

 

I've been a lurker for years, and have gained much insight from reading posts (thank you all).

With P3Dv4, and the explicit setting for Dynamic Auto Gen vegetation, I have seen a number of posts concerning speedtree...and it seems that many  are unaware of the middleware or what it does

speedtree is a middleware software used in cinema, games, etc. that enables easy creation of vegetation assets (trees, shrubs, grass, etc.), and easy authoring into those application (for developers, VFX houses, anyone creating content that can benefit from the middleware)

http://www.speedtree.com/

I feel that many have seen the name and believe it has something to do with sim performance, or that it is something Lockheed has developed for P3D. Although the obviously use the middleware for the ease of content creation (and the benefits for boned based animation of assets built in speed tree)

Speed tree assets have the runtime benefit of being instanced (a not fully accurate explanation: single allocation of memory allowing for multiple instances in the engine without duplicating memory footprint, although each instance does come at a cpu cost,etc). This allows for a lot of use cases for in engine without the overhead of each "tree" or instance being a unique asset that has to be handled by the engine

Disabling the dynamic autogen (the setting that enables speedtree assets at runtime in P3D) just stops the engine from using speedtree assets at runtime (no doubt coming at a performance gain  for those not interested in more vegetation, or animated vegetation assets)

I'm sure this has been covered before, but with probable new converts to P3D, I wanted to help provide a context for those coming onboard as I think the name "speedtree" confuses people into believing it is some performance related asset vs a middleware implementation , that although can help performance, is not limited to that

 

Thanks,

Nick

 

For those interested, similar game development middleware, such as Scaleform, is used by P3D to allow for Adobe Flash integration (no doubt for UI construction)

http://www.prepar3d.com/SDKv3/LearningCenter/scaleform/scaleform_overview.html

https://www.autodesk.com/products/scaleform/overview

 

 

 

  • Like 1
  • Upvote 2

Share this post


Link to post

Thanks, had no idea and I did think it was an "LM" thing. It is a pity it comes with a hefty performance penalty....or does it?

Share this post


Link to post

No worrires, it no doubt does come at some performance hit, as this is a highly optimized asset I would imagine that those with mid to lower high end pc builds would not notice any discernible impact (i would guess single digit frames). If you are doing IFR or Tubeliner flights, and really need 2-3fps(an estimate) for less "beefy" pcs, I would imagine this is a good thing to toggle off, that being said, I think like most autogen, that this is not a high FPS impact outside of "far right slider" setups.

I'll try some tests on my rig and see...I think autogen density will be more critical than "speedtree on/off", as this are generally highly optimized assets

Share this post


Link to post
On 6/4/2017 at 11:53 AM, Nicodemus said:

Hello all,

 

I've been a lurker for years, and have gained much insight from reading posts (thank you all).

With P3Dv4, and the explicit setting for Dynamic Auto Gen vegetation, I have seen a number of posts concerning speedtree...and it seems that many  are unaware of the middleware or what it does

speedtree is a middleware software used in cinema, games, etc. that enables easy creation of vegetation assets (trees, shrubs, grass, etc.), and easy authoring into those application (for developers, VFX houses, anyone creating content that can benefit from the middleware)

http://www.speedtree.com/

I feel that many have seen the name and believe it has something to do with sim performance, or that it is something Lockheed has developed for P3D. Although the obviously use the middleware for the ease of content creation (and the benefits for boned based animation of assets built in speed tree)

Speed tree assets have the runtime benefit of being instanced (a not fully accurate explanation: single allocation of memory allowing for multiple instances in the engine without duplicating memory footprint, although each instance does come at a cpu cost,etc). This allows for a lot of use cases for in engine without the overhead of each "tree" or instance being a unique asset that has to be handled by the engine

Disabling the dynamic autogen (the setting that enables speedtree assets at runtime in P3D) just stops the engine from using speedtree assets at runtime (no doubt coming at a performance gain  for those not interested in more vegetation, or animated vegetation assets)

I'm sure this has been covered before, but with probable new converts to P3D, I wanted to help provide a context for those coming onboard as I think the name "speedtree" confuses people into believing it is some performance related asset vs a middleware implementation , that although can help performance, is not limited to that

 

Thanks,

Nick

 

For those interested, similar game development middleware, such as Scaleform, is used by P3D to allow for Adobe Flash integration (no doubt for UI construction)

http://www.prepar3d.com/SDKv3/LearningCenter/scaleform/scaleform_overview.html

https://www.autodesk.com/products/scaleform/overview

 

 

 

I want to improve my FPS.

 

In which menu or under which option is dynamic vegetation and speed trees so I can untick or turn them off.

Thanks

 

Share this post


Link to post

I don't understand then why some 3rd party add-on's (TeraFlora & ORBX for example) need the speedtrees settings to be off for their texture to operate properly.

Perhaps their developers could explain this better upon seeing this topic.

S.

 

 

Share this post


Link to post

3D Speed trees and 2.5D stick figure theater trees use the same autogen IDs and P3d just swaps autogen config files in order to switch between the two model types. Thus, no 3rd party vegetation add-on can override the 3D tree setting since such add-ons are just  a set of texture sheets that only work with the 2.5D default tree models.

Share this post


Link to post
Guest

If anyone is interested in developing for SpeedTree let me know, I have a contact and was able to negotiate license down to about $6000 per developer but it may also depend on the project (the licensing costs seems to vary by project size and expected revenues).

If you look closely at SpeedTree you'll see they work within a distance cone, meaning they actually don't become "animated" and "3D" until one flies within a specified distance of the tree.  This process provides considerable performance benefits as you would NOT want weather responsive 3D animated trees operating out to the horizon (or to whatever ones LOD setting).

However, even when optimized they still require more processing power than static X trees.  For this reason, when enabled in P3D they are not as "full" (in terms of tree count/density) as the basic X tree.

Speedtree's do look much better and they respond to weather/wind.  The only reason I disable them is because of their density, just not dense enough due to performance considerations ... maybe when processors (CPU and GPU) become more powerful density will be increased.

But just so folks know, P3D use Triton engine for doing 3D waves also (same purchase of license and libraries/DLLs).  It's VERY common to integrate 3rd party development tools into a project ... just like FSW and TrueSky (Sundog).  So long as one is willing to pay the license fees (usually pretty high cost), one can incorporate the libraries (the DLLs) into one's projects and deploy with the project (note: the developer still has to integrate the DLLs into their own code so it's not trivial).  This is a VERY common practice in all software development (from UI controls to DX11 3D animators) ... no sense in re-inventing the wheel when someone else has already done it, just pay to buy a license to use and distribute the wheel.  The only issue is the license fees which can be very high ... this cost needs to be recovered and is often reflected in the cost of product.  I know many don't believe development license fees can increase costs of products, but I assure you they can an do.

Cheers, Rob.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...