Table of Contents

Performance

Wind

SpeedTree wind effects scale widely. That is, they can be off, simple, or very complex (as in 400+ instruction vertex shaders). As such, users should take great care about when to scale up and by how much.

Note: There is little to be done to impact CPU performance because almost the entire wind computation load is in the vertex shaders. CWind::Advance() (often invoked through CForest::WindAdvance()) is the only function that uses any reasonable amount of measure CPU time.

Tuning in the Compiler Application

For each tree in the Compiler application, users can tune the wind LOD. There are four options:






For wind LOD, go to global or no wind as soon as possible. We have found that for trees will full wind, going from full in the highest LOD to global in the next works very well in terms of performance and perception. For smaller models like shrubs and bushes, going to no wind as soon as possible is also recommended since when rendered very small, wind effects are difficult to perceive.

Note: If a tree model has any wind effect other than “None” in the last discrete LOD, the billboard shader will be compiled with global wind enabled.

To A/B test the overall impact wind computations are having on your scene, you easily disable all wind effects my unchecking “Enable wind” in the Compiler→Effects options.


Tuning in the Modeler Application

Within the Modeler application, there are several controls that can be used to enable or disable particular wind effects. Each of these options may represent a significant jump in the vertex shader instruction counts, so they should be carefully tuned. Access them by clicking on the 3D fan icon in the Modeler. These options appear throughout the property bar: