<div dir="ltr"><span style="font-family:tahoma,sans-serif;font-size:12.8px">Riccardo,</span><br><div><font face="tahoma, sans-serif"><span style="font-size:12.8px"><br></span></font></div><div><font face="tahoma, sans-serif"><span style="font-size:12.8px">In my experience VBOs that are too large will reduce performance (on NVIDIA at least). So you need to cap the size you use for each draw call. OSG's MergeGeometryVisitor has a parameter for "target number of vertices" that defaults to 10K per primitive set. On modern cards this can definitely be higher, but if you set it too high (in the millions for example) performance will fall off a cliff. Where exactly depends on the hardware and you will need to experiment to find a good value. Anyway, it </span></font><span style="font-size:12.8px;font-family:tahoma,sans-serif">would be interesting to see whether something like glMultiDrawArrays would exhibit the same behavior.</span></div><div><font face="tahoma, sans-serif"><span style="font-size:12.8px"><br></span></font></div><div><font face="tahoma, sans-serif"><span style="font-size:12.8px">Hope this helps.</span></font></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Glenn Waldron</div></div></div></div>
<br><div class="gmail_quote">On Fri, Dec 2, 2016 at 10:32 AM, Riccardo Corsi <span dir="ltr"><<a href="mailto:riccardo.corsi@kairos3d.it" target="_blank">riccardo.corsi@kairos3d.it</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif">Hi all,</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">I'm trying to find out the best geometries and primitive sets layout on a model that I'm using as performance benchmark.</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">The model is quite heavy in terms of vertices and polygons, and everything is rendered at the moment with DrawArrays.</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">In the attempt to reduce the draw calls, I've recombined the primitive sets contained in every geometry into a single primitive set.<br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">I expected draw/gpu time to improve, and I've found the exact opposite - find attached the 2 screenshots with the stats (before and after primitives merge).</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">After merging the primitive sets I've also tried to force VBO usage instead of display lists, which improve things slightly, but always far worse than before merging.</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">Can anyone comment on this result?</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">Thank you,</div><div class="gmail_default" style="font-family:tahoma,sans-serif">Riccardo</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div></div>
<br>______________________________<wbr>_________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.<wbr>openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.<wbr>org/listinfo.cgi/osg-users-<wbr>openscenegraph.org</a><br>
<br></blockquote></div><br></div>