[osg-users] [MDI branch] AZDO SandBox

Robert Osfield robert.osfield at gmail.com
Thu Oct 19 05:02:52 PDT 2017


Hi Julian et. al,

On 28 July 2017 at 17:53, Julien Valentin <julienvalentin51 at gmail.com>
wrote:

> Hi,
>
> I pushed a new osg branch at git for Indirect Draw feature
> https://github.com/openscenegraph/OpenSceneGraph/tree/MultiDrawIndirect
>


Now that this branch is merged with master, it should be OK for us to
delete the branch.  Julian, do you have any further revisions planned?

FYI, I made some build fixes for compiling the OSG without the automatic
ref_ptr<> -> C pointer conversion enabled, so these would need merging with
the MultiDrawIndirect branch if you want to keep it around.

I also did some testing of the osgsimpleMDI example and found the --classic
code path that uses multiple DrawElementsUInt in place of a single
DefaultIndirectCommandDrawElements and was surprised at how the performance
was with the non MultiDrawIndirect code path, However, looking at the way
this example works I spotted that a DrawElemenetsUInt was being used for
each separate quad which is about the worst way to implement things.  To
provide a proper comparison I added a --single code path that creates a
single DrawElementsUInt primitive set and this produced the expected
performance.

The performance I get on my iCore7 + Geforce GTX 760 was:

  osgsimpleMDI    [ uses MultiDrawElementsIndirectUShort : draw dispatch
0.11ms, draw GPU 0.94ms]

  osgsimpleMDI  --classic  [ uses multiple DrawElementsUShort : draw
dispatch 2.3ms, draw GPU 0.44ms]

  osgsimpleMDI  --single  [ uses single DrawElementsUShort : draw dispatch
0.11ms, draw GPU 0.22ms]

So for this test MDI is lightweight on draw dispatch but heavy on the GPU,
multiple DrawElementsUInt is super heavy on draw dispatch but modest on
GPU, but the winner is single DrawElementsUInt with lightweight draw
dispatch and on the GPU (move than 4 times faster than MDI.)

Different drivers and hardware will give different values but for this
particular usage case using old style DrawElementsUInt will likely be the
best.

Robert.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20171019/1dbf0007/attachment.html>


More information about the osg-users mailing list