<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Robert,<br>
    <br>
    final analysis:<br>
    <br>
    In our software we did the following patch to make it run with high
    fps in master of 3.4 branch:<br>
    <br>
    <span style=" color:#c0c0c0;"> </span>
    <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#c0c0c0;">             </span>osgNormals<span style=" color:#c0c0c0;"> </span>=<span style=" color:#c0c0c0;"> </span>new<span style=" color:#c0c0c0;"> </span>osg::Vec3Array;</pre>
    <tt> </tt>
    <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">+<span style=" color:#c0c0c0;">            </span>osgNormals->setBinding(osg::Array::BIND_PER_VERTEX);</pre>
    <tt> </tt>
    <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#c0c0c0;">             </span>geometry->setNormalArray(osgNormals.get());</pre>
    <tt> </tt>
    <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#c0c0c0;">             </span>geometry->setNormalBinding(osg::Geometry::BIND_PER_VERTEX);</pre>
    <tt> </tt>
    <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#c0c0c0;"> </span></pre>
    Obviously we have to set the binding in the array itself and the
    setNormalBinding works but has poor performance.<br>
    <br>
    Now we are happy again :-)<br>
    <br>
    - Werner -<br>
    <br>
    <div class="moz-cite-prefix">Am 31.03.2017 um 13:11 schrieb Werner
      Modenbach:<br>
    </div>
    <blockquote
      cite="mid:4a35f398-6e9d-7d15-9380-aa136f9db911@texion.eu"
      type="cite">
      <meta content="text/html; charset=windows-1252"
        http-equiv="Content-Type">
      Hi Robert,<br>
      <br>
      the 3.4.0 tagged version is OK with the frame rate.<br>
      We discovered your commit in the 3.4 branch causing the problem:<br>
      <br>
      <tt>From</tt><tt><span style=" color:#c0c0c0;"> </span></tt><tt>1f1c21772ae0dd10a93cd31ab81bf563802b7b2d</tt><tt><span
          style=" color:#c0c0c0;"> </span></tt><tt>Mon</tt><tt><span
          style=" color:#c0c0c0;"> </span></tt><tt>Sep</tt><tt><span
          style=" color:#c0c0c0;"> </span></tt><tt>17</tt><tt><span
          style=" color:#c0c0c0;"> </span></tt><tt>00:00:00</tt><tt><span
          style=" color:#c0c0c0;"> </span></tt><tt>2001 </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">From:<span style=" color:#c0c0c0;"> </span>Robert<span style=" color:#c0c0c0;"> </span>Osfield<span style=" color:#c0c0c0;"> </span><a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="mailto:robert@openscenegraph.com"><robert@openscenegraph.com></a></pre>
      <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Date:<span style=" color:#c0c0c0;"> </span>Thu,<span style=" color:#c0c0c0;"> </span>3<span style=" color:#c0c0c0;"> </span>Nov<span style=" color:#c0c0c0;"> </span>2016<span style=" color:#c0c0c0;"> </span>11:31:07<span style=" color:#c0c0c0;"> </span>+0000</pre>
      <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Subject:<span style=" color:#c0c0c0;"> </span>Added<span style=" color:#c0c0c0;"> </span>check<span style=" color:#c0c0c0;"> </span>against<span style=" color:#c0c0c0;"> </span>binding<span style=" color:#c0c0c0;"> </span>type<span style=" color:#c0c0c0;"> </span>of<span style=" color:#c0c0c0;"> </span>array<span style=" color:#c0c0c0;"> </span>to<span style=" color:#c0c0c0;"> </span>decide<span style=" color:#c0c0c0;"> </span>whether<span style=" color:#c0c0c0;"> </span>it's</pre>
      <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#c0c0c0;"> </span>appropriate<span style=" color:#c0c0c0;"> </span>to<span style=" color:#c0c0c0;"> </span>assign<span style=" color:#c0c0c0;"> </span>array<span style=" color:#c0c0c0;"> </span>to<span style=" color:#c0c0c0;"> </span>VBO.</pre>
      <tt> </tt> <tt> </tt> <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">diff<span style=" color:#c0c0c0;"> </span>--git<span style=" color:#c0c0c0;"> </span>a/src/osg/Geometry.cpp<span style=" color:#c0c0c0;"> </span>b/src/osg/Geometry.cpp</pre>
      <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">index<span style=" color:#c0c0c0;"> </span>779e8cd..244bf25<span style=" color:#c0c0c0;"> </span>100644</pre>
      <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">---<span style=" color:#c0c0c0;"> </span>a/src/osg/Geometry.cpp</pre>
      <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">+++<span style=" color:#c0c0c0;"> </span>b/src/osg/Geometry.cpp</pre>
      <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">@@<span style=" color:#c0c0c0;"> </span>-445,7<span style=" color:#c0c0c0;"> </span>+445,7<span style=" color:#c0c0c0;"> </span>@@<span style=" color:#c0c0c0;"> </span>bool<span style=" color:#c0c0c0;"> </span>Geometry::getDrawElementsList(DrawElementsList&<span style=" color:#c0c0c0;"> </span>drawElementsList)<span style=" color:#c0c0c0;"> </span>const</pre>
      <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#c0c0c0;"> </span></pre>
      <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#c0c0c0;"> </span>void<span style=" color:#c0c0c0;"> </span>Geometry::addVertexBufferObjectIfRequired(osg::Array*<span style=" color:#c0c0c0;"> </span>array)</pre>
      <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#c0c0c0;"> </span>{</pre>
      <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">-<span style=" color:#c0c0c0;">    </span>if<span style=" color:#c0c0c0;"> </span>(_useVertexBufferObjects)</pre>
      <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">+<span style=" color:#c0c0c0;">    </span>if<span style=" color:#c0c0c0;"> </span>(_useVertexBufferObjects<span style=" color:#c0c0c0;"> </span>&&<span style=" color:#c0c0c0;"> </span>array->getBinding()==Array::BIND_PER_VERTEX)</pre>
      <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#c0c0c0;">     </span>{</pre>
      <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#c0c0c0;">         </span>if<span style=" color:#c0c0c0;"> </span>(!array->getVertexBufferObject())</pre>
      <tt> </tt>
      <pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#c0c0c0;">         </span>{</pre>
      <br>
      The question is: Why is the viewer frame rate OK, even it is built
      with the same version we are using?<br>
      What are we doing different to the viewer?<br>
      <br>
      Thanks so much for your excellent work!<br>
      <br>
      - Werner -<br>
      <br>
      <div class="moz-cite-prefix">Am 28.03.2017 um 18:22 schrieb Robert
        Osfield:<br>
      </div>
      <blockquote
cite="mid:CAFN7Y+XncccZTZc_0wiiVkLqYqxNjyu177OHDjeu9i9GJcKwHw@mail.gmail.com"
        type="cite">
        <div dir="ltr">Hi Wener,<br>
          <div class="gmail_extra"><br>
            <div class="gmail_quote">On 28 March 2017 at 16:24, Werner
              Modenbach <span dir="ltr"><<a moz-do-not-send="true"
                  href="mailto:Werner.Modenbach@texion.eu"
                  target="_blank">Werner.Modenbach@texion.eu</a>></span>
              wrote:<br>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                <div bgcolor="#FFFFFF" text="#000000">I know it is
                  actually not your duty giving help here but you are
                  very<br>
                  familiar with the driver calls and it would help a lot
                  if you can provide <br>
                  an idea what kind of setting might cause this issue.<br>
                </div>
              </blockquote>
              <div><br>
              </div>
              <div>I'm a very occasional Windows user so really don't
                have much experience with Windows drivers to be able
                help with driver settings.<br>
              </div>
              <div><br>
              </div>
              <div>It's a long shot, but have your tried the OSG-3.4
                branch or OSG master as these both contain a range of
                bug fixes/OSG improvements, there is chance that
                something has changed that might fix things.  <br>
                <br>
                Whatever the cause is it seems to be some small OpenGL
                state difference between OSG-3.2 and OSG-3.4.0, I'm
                afraid I don't know what this might be.  Perhaps using a
                3rd party OpenGL debugging tool might help here -
                capture all the GL calls for 3.2.x and 3.4.x and see
                what the differences are.<br>
                <br>
              </div>
              <div>Robert.<br>
              </div>
              <div> </div>
            </div>
          </div>
        </div>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
osg-users mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a>
</pre>
      </blockquote>
      <br>
      <div class="moz-signature">-- <br>
        <b>TE<span style="color:red;">X</span>ION Software Solutions,
          Rotter Bruch 26a, D-52068 Aachen</b><br>
        Phone: +49 241 475757-0<br>
        Fax: +49 241 475757-29<br>
        Web: <a moz-do-not-send="true" class="moz-txt-link-freetext"
          href="http://texion.eu">http://texion.eu</a><br>
        eMail: <a moz-do-not-send="true"
          class="moz-txt-link-abbreviated" href="mailto:info@texion.eu">info@texion.eu</a><br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
osg-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a>
<a class="moz-txt-link-freetext" href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a>
</pre>
    </blockquote>
    <br>
    <div class="moz-signature">-- <br>
      <b>TE<span style="color:red;">X</span>ION Software Solutions,
        Rotter Bruch 26a, D-52068 Aachen</b><br>
      Phone: +49 241 475757-0<br>
      Fax: +49 241 475757-29<br>
      Web: <a class="moz-txt-link-freetext" href="http://texion.eu">http://texion.eu</a><br>
      eMail: <a class="moz-txt-link-abbreviated" href="mailto:info@texion.eu">info@texion.eu</a><br>
    </div>
  </body>
</html>