OpenSceneGraph Windows Binaries
Recent Windows binary packages of OpenSceneGraph have not been available. Since building OpenSceneGraph takes some effort Objexx is providing them as a service to the OpenSceneGraph community.
OpenSceneGraph Windows Downloads
Here are the currently available packages showing their build dates. The AVX2 builds are for Haswell and newer generation CPUs and have the potential of better vectorization performance. It is best to use an AVX2 OSG build with an application built with AVX2 support to avoid AVX-SSE transition penalties. The Intel C++ build is compiled with /fp:fast=2 so it may give slightly reduced precision. The Intel C++ build is binary compatible with Visual C++ 2015. Only 64-bit binaries are provided at this time.
- OpenSceneGraph 3.4.1 -- Visual C++ 2017 -- 64-bit -- Release (built 2017-10-07)
- OpenSceneGraph 3.4.1 -- Visual C++ 2017 -- 64-bit -- Debug (built 2017-10-07)
- OpenSceneGraph 3.4.0 -- Visual C++ 2015 -- 64-bit -- Debug (built 2016-05-07)
- OpenSceneGraph 3.4.0 -- Visual C++ 2015 -- 64-bit -- Release (built 2016-05-07)
- OpenSceneGraph 3.4.0 -- Visual C++ 2015 -- 64-bit -- AVX2 (built 2016-05-07)
- OpenSceneGraph 3.4.0 -- Intel C++ 2016 -- 64-bit -- AVX2 (built 2016-05-07)
- The default OpenQL GL2 level was used
- osgQt is included
- The OSG 3.4.1 packages were built against Qt 5.9.2 and include these 3rd party libraries:
- curl 7.56.0
- freetype 2.8.1
- giflib 5.1.4
- glut 3.7
- libjpeg 9b
- libpng 1.6.34
- libtiff 4.0.8
- minizip master branch tip
- zlib 1.2.11
- The OSG 3.4.0 packages were built against Qt 5.6 and include these 3rd party libraries:
Other builds could be provided upon request. We hope to add more of the optional 3rd party libraries such as GDAL and Collada in future builds. Let us know if specific plugin support would be helpful.
We tested and profiled the different builds with our ObjexxSISAME application using a benchmark designed to make the OSG calls dominate the run time. Here's what we observed:
- The AVX2 builds gave no benefit with either compiler. This is not surprising given that OSG, by necessity, depends heavily on non-contiguous data and indirection, limiting opportunities for vectorization.
- The Intel C++ build (with /fp:fast=2) was not faster than the Visual C++ builds. This is a little surprising: we usually get some performance gains with Intel C++ even when vectorization is not significant.
- Profiles when running on Intel iGPU were dominated by calls to osgUtil::RenderLeaf::render.
- Profiles when running on nVidia dGPU were not giving consistent, meaningful results with Intel VTune. We will try nVidia's profiler next.
Our use of the OSG API is fairly basic/limited so our findings are not indicative of all aspects of OSG performance. We'll be experimenting with other build options and looking deeper into the profiling results in future OSG builds. But for now the builds all work fine and the Visual C++ (non-AVX2) release build should be best for most users.
These are compressed with 7-zip and can be installed by expanding them from the desired parent directory, for example:
C:\>7z x OpenSceneGraph-3.4.1-VC2017-64-Release.7z
The installation directories can be renamed to something shorter if desired. They can be uninstalled by simply removing the OpenSceneGraph directory.
Contact firstname.lastname@example.org with questions about these packages.