Hi,

On Thursday, April 26, 2012 08:32:19 James Turner wrote:
> On 25 Apr 2012, at 14:56, Stuart Buchanan wrote:
> > If you're going to be looking in the code anyway, the depth of the
> > quad tree is set in some constants at the top of the SGBuildingBin.cxx
> > file, and (IIRC) the LoD range is also set up there, so you could see
> > if reducing the depth makes a difference.
> 
> Found at least part of the issue: BIND_PER_PRIMITIVE should be avoided - it
> forces OSG to use manual calls, at least for me. Changing the normal
> binding to vertex (at 4x the memory for the normal array) gets the
> performance back to 'sane'. There's still quite a big FPS hit (eg, 50 FPS
> down to 30FPS over the centre of Edinburgh), but it's not
> 'crazy-off-the-scale-slow'.
> 
> I did a check, and fortunately nothing else in our code is using
> BIND_PER_PRIMITIVE.

Yes, there is that 'fast path' and there is already a method at the geometry 
that tells you if it will run in the fast path or not.
I believe the method is areFastPathsUsed or something like that.
And it's a bit tricky to trigger the flags evaluation. But looking at the 
source helps.

In the end its all about if there is a corresponding OpenGL draw call that can 
just work on the unchanged arrays.

Nice work so far. From some distance it looks pretty good.
Thanks

Mathias

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to