tinySceneGraph Home Images Contact

Performance numbers on tinySG

Friends of tinySG,

With the recent optimisations in the scene graph structure and node data organisation, tinySG's performance is finally almost on par with that of other scenegraphs like OpenScenegraph or nvsg.

Being a spare time project, tinySG is neither heavily tested against different operating systems and OpenGL drivers, nor does it automatically select the best render algorithm or optimise data. When gathering the performance numbers given below, tinySG showed awful performance on one system, while it was performing well on the same data on another machine.

Happy Buddha dataset Dragon dataset
Happy Buddha, 1.08M triangles Dragon, 871k triangles

The comparison utilises datasets from the Stanford 3D Scanning Repository and the ISS highres dataset provided by NASA. Open Scenegraph's Inventor importer unfortunately crashed on the happy Buddha and dragon dataset. nvsg did not read Inventor files at all, but accepted the ply file format. Numbers were measured on different (but approximately equally powerful) machines and on different operating systems.
Although the numbers include some cheating and to not qualify as a real, fair benchmark, they are nevertheless interesting: As it is unclear what optimisations the other scenegraphs apply to their data, the data has been manually optimised for tinySG using tsgEdits batch processing capabilities.

performance charts Sometimes a render setting forced the OpenGL driver to leave the fast path. Especially two-sided lighting seems to cause performance drops. Other features like multisampling did not have an impact on the framerates.

As a rough rule of thumb, tinySG gains about 3x performance on stripped data compared to individual triangles and about another 2x performance when single-sided lighting is enabled. Test systems were a dual Xeon workstation w/ FX4600 running Windows XP and a desktop machine w/ Core i7 860, 9800 GTX+ running Linux and Windows 7.

Conclusion

The numbers allow a rough estimate on tinySG's performance, although they do not qualify as a real benchmark. Small datasets like the dragon tend to run into an upper limit of 125 fps, regardless of operating system, machine or scenegraph. Thus, numbers are of limited conclusiveness.
The performance for real industrial datasets is similar. It would be great if some company would provide a dataset with about 5M to 40M triangles that can be published here. Please contact me if you can/want to help here.

In summary, another 1.5x speedup still seems to be possible. But having reached the performance level of other scenegraphs, leveraging this potential is of somewhat lower priority. Attention is likely to shift again towards parallelism, multi-GPU operations and cluster awareness.

Keep rendering,
Christian

powerplant dataset Power Plant dataset, 11.7M triangles, being prepared with tsgEdit on Linux.

Acknowledgements:

The Happy Buddha and dragon datasets are courtesy of the Stanford Computer Graphics Laboratory and kindly provided for research purposes and publishing of rendered images.

The Power Plant dataset has been released for non-commercial use only. Like the University of North Carolina, I gratefully acknowledge the support of an anonymous donor for the use of this model.

The ISS dataset and texture images are courtesy of NASA.




Copyright by Christian Marten, 2009-2014
Last change: 22.08.2011