Insight3D® is built for performance. During development, when a trade-off was made between performance and something else, performance almost always won. This overview provides guiding principles and techniques to maximize the performance of your application.
Techniques in the following table provide view-independent performance improvements. Regardless of what is visible in the scene, these techniques are beneficial.
Using one primitive to represent multiple objects can drastically improve performance.
Provide the most appropriate SetHint enumeration value when initializing a primitive for the best performance of both static and dynamic primitives.
The following techniques provide view-dependent performance improvement. Their benefit is dependent on the camera position and camera orientation.
Culling objects that are not visible provides significant view-dependent performance improvements.
Culling triangles that face away from the camera can provide modest performance gains.
All timings were taken with a Dual-Core Xeon 2.66 GHz with a GeForce 8800 GTX with vertical sync forced off, using a development version of DME Component Libraries with Insight3D. Performance will vary from system to system. Performance will also depend on the CPU and GPU usage of your application. For example, optimizing the fragment processing on the GPU may not improve performance if an application's performance is limited by the CPU.