Many of the factors mentioned in the Overall Performance Guidelines and Suggestions in General Level Design Information apply to the performance of a model object in Halo. A model objects effect on performance includes many factors, not just the pure number of triangles being drawn.
Below is a simple list of things to keep in mind when creating models for Halo:
1) Be careful of the polygon and resulting triangle counts for the model. The model should not be created without regard for its use and placement in its intended environment. If a level or game environment already has high triangle counts and a model is being placed in the area, the model being created should have a low triangle count and\or the environment it is being used in should have its triangle count lowered.
2) Scenery objects are used for many reasons such as decreasing the development or creation time of a level by allowing the population of common objects quickly. The use of scenery objects also reduces memory by using multiple instances of the same model that uses the same material or shader. Memory used by the game is also saved since the objects are not made part of the core level geometry and do not require a light map.
3) Always consider using or creating several Levels of Detail (LOD) for the model you are creating, especially if its a very high polygon model that is used frequently in the environment and has many instances per scene. LOD models are manually created lower polygon versions of the higher polygon model seen by the player up close. These LODs are set to replace the higher polygon version at farther distances from the player view. As the distance from the player view increases, lower and lower polygon versions of the model are used. These distances can be manually set in the model tag.
4) The number of different materials or shader types per model can greatly affect performance. Try to limit the unique number of materials per model to decrease the number of materials per scene.
5) Avoid using or creating a lot of model shaders that have a lot of effects or settings or that require multiple rendering passes, this can greatly decrease performance. Shaders with a base map, multipurpose map, detail map, detail mask, bump map, scrolling texture settings, and reflection cube map all set decreases rendering performance and uses up more memory. Be careful when using the 2-sided model shader flag, this will double the triangle count for the faces on which it is applied. This flag is most commonly used on the leaves for trees and foliage.
6) Watch the amount of overdraw created by having successive layers of transparent or partially transparent geometry.
|