class HPS::Performance

Public Types

enum DisplayLists

Display lists are a GPU hardware caching technology which can greatly improve rendering performance. The underlying implementation depends on the 3D driver being used.


enumerator None

Display Lists will not be used for rendering the scene.

enumerator Geometry

Display Lists will be created on a per-geometry basis. If the geometry is modified, the display list will be regenerated.

enumerator Segment

Display Lists will be created on a per-segment basis. If any geometry in the segment is modified, the display list will be regenerated.

enum StaticConditions

StaticConditions indicates how conditional expressions will be handled inside a StaticModel. A model segment which has no conditionals expressions, or only has expressions satisfied by conditions set within the segment should not be affected by this.


enumerator Independent

Conditional expressions will be maintained in the static tree. The tree may be referenced from multiple places (such as view) without forcing regeneration, but the static tree will be sub-optimal

enumerator Single

Conditional expressions will be evaluated assuming the current condition state available when the static tree is generated is the only one of interest. The static tree will resolve any use of conditions for better performance, but changes to this state will cause it to regenerate, and a static tree used in multiple places (such as different views) may thrash (continuously regenerate multiple times every update).

enum StaticModel

StaticModel is a technique used for improving rendering performance. This setting tells the system that the segment tree affected by the attribute will remain ‘static’ or unchanging. The system will create an internal, optimized segment tree which is used for rendering in lieu of the normal tree. The original segment tree is untouched and can be used normally.

If changes are made in a part of the segment tree that is subject to the static model attribute, the internal tree will be regenerated, with a few exceptions: If geometry is deleted or edited, the internal tree will not need to be regenerated.


enumerator None

No static model will be used, rendering will be done from the segment tree.

enumerator Attribute

An optimized segment tree will be used for rendering. The tree will be sorted by attributes.

enumerator AttributeSpatial

An optimized segment tree will be used for rendering. The tree will be sorted based on both attributes and spatial locations of objects. This is particularly useful for very large, spatially dispersed models.