Robert Osfield
2021-03-17 19:36:33 UTC
Hi All,
Over the past 2 1/2 years I've been mainly focused on VulkanSceneGraph
project, this isn't yet at 1.0 but it's come along nicely. This week I
wrote an example that illustrates how to use vsg::PagedLOD and
vsg::ReaderWriter to implement paged database that streams data from online
tile serves such a OpenStreetMap and ReadyMap. It's like a very simple and
crude demo of osgEarth style paging.
To look at the visual differences and performance differences I've recorded
a camera animation path in osgviewer then run this same path with the same
OpenStreetMap databasee in osgviewer using osgEarth, and then with the same
path but using the new vsgpagedlod example.
https://github.com/vsg-dev/vsgExamples/tree/PagedLOD/examples/nodes/vsgpagedlod
I've upload the a video of running the two applications, first the OSG then
VSG, to youtube:
The average fps for the 2 minutes camera animation path was 878fps for the
OSG/osgEarth combo and 2698fps for VSG/vsgpagedlod, which is just under 3
times faster for the Vulkan/VulkanSceneGraph.
As I explain in the video it's not an exact like for like comparison as
osgEarth is doing blending between LODs, while the VSG/vsgpagedlod is
selecting a higher level of detail for a given view.
The osgviewer was run with default DrawThreadPerContext threading, while
vsgpagedlod viewer was running single threaded. In both cases the
osgDB::DatabasePager and equivalent vsg::DatabasePager are doing all the
loading in a set of background threads.
The VSG supports running viewer multi-threaded but is unnecessary in this
instance as the cull/draw traversal/dispatch are all happening less than
half a millisecond :-)
Over the past 2 1/2 years I've been mainly focused on VulkanSceneGraph
project, this isn't yet at 1.0 but it's come along nicely. This week I
wrote an example that illustrates how to use vsg::PagedLOD and
vsg::ReaderWriter to implement paged database that streams data from online
tile serves such a OpenStreetMap and ReadyMap. It's like a very simple and
crude demo of osgEarth style paging.
To look at the visual differences and performance differences I've recorded
a camera animation path in osgviewer then run this same path with the same
OpenStreetMap databasee in osgviewer using osgEarth, and then with the same
path but using the new vsgpagedlod example.
https://github.com/vsg-dev/vsgExamples/tree/PagedLOD/examples/nodes/vsgpagedlod
I've upload the a video of running the two applications, first the OSG then
VSG, to youtube:
The average fps for the 2 minutes camera animation path was 878fps for the
OSG/osgEarth combo and 2698fps for VSG/vsgpagedlod, which is just under 3
times faster for the Vulkan/VulkanSceneGraph.
As I explain in the video it's not an exact like for like comparison as
osgEarth is doing blending between LODs, while the VSG/vsgpagedlod is
selecting a higher level of detail for a given view.
The osgviewer was run with default DrawThreadPerContext threading, while
vsgpagedlod viewer was running single threaded. In both cases the
osgDB::DatabasePager and equivalent vsg::DatabasePager are doing all the
loading in a set of background threads.
The VSG supports running viewer multi-threaded but is unnecessary in this
instance as the cull/draw traversal/dispatch are all happening less than
half a millisecond :-)
--
You received this message because you are subscribed to the Google Groups "OpenSceneGraph Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to osg-users+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/osg-users/b1adc63f-28b5-49b9-b200-1fcd5624b400n%40googlegroups.com.
You received this message because you are subscribed to the Google Groups "OpenSceneGraph Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to osg-users+***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/osg-users/b1adc63f-28b5-49b9-b200-1fcd5624b400n%40googlegroups.com.