Real time 3D rendering can be a performance intensive process. There are a number of modelling techniques that can be used for improving real time rendering performance.
Reduce the amount of polygons
- Each polygon requires processing power, so reducing the number of polygons used can result in faster frame rates.
- Flat surfaces should be made of a minimal number of polygons.
- Curved and organic surfaces typically contain a large number of polygons. The amount used can generally be reduced at a cost of visual quality.
- Use an appropriate level of detail for each object, especially in regards to the distance it will be viewed from by the user. Small objects (e.g. a Doorknob) should generally use fewer polygons than larger objects (e.g. An entire building).
- Procedural geometry generated from programs such as Revit generally contain a significant number of polygons. In some cases the number of polygons can be reduced by modifying detail settings used to generate procedural geometry.
- The Urban Engine displays polygon count information in the status bar found at the bottom of the screen.
Reduce the number of ‘Batches’
- Real time 3D graphics processes geometry in ‘Batches’. Each batch requires a small amount of processing power and time to execute.
- A batch exists for each unique material on an individual object. Each of these batches involves processing the polygons belonging to this material.
- For example, a typical tree may contain two batches. One batch containing the polygons belonging to the ‘Leaf’ material, and another batch for the polygons belonging to the ‘Trunk’ material.
- As a general rule of thumb, Real time 3D performs better with fewer batches consisting of large amounts of polygons, rather than many batches consisting of small amount of polygons.
- Where possible, combine nearby individual objects sharing the same material into one single object.
- For example, a park containing 10 individual tree objects may have its trees collapsed down into a single object containing the polygons from all 10 trees, increasing performance.
- The Urban Engine features ‘Collapse Mesh’ and ‘Collapse Spline’ buttons on the import dialog that automatically collapses all objects in the current import into a single object for optimised performance.
- The Urban Engine displays batch count information in the status bar found at the bottom of the screen.
Reduce memory overhead
- Geometry and Textures require memory (RAM) when rendering in real time.
- Reducing the number of polygons used, the number and size of textures will all have an effect on the amount of memory required for real time processing.
- The Urban Engine displays various memory statistics in the status bar found at the bottom of the screen.