Annotations with TECHNIQUE_GPU and fps

classic Classic list List threaded Threaded
3 messages Options
Tension Tension
Reply | Threaded
Open this post in threaded view
|

Annotations with TECHNIQUE_GPU and fps

I use MeasureTool in my task and noticed that my fps drops from 50 to 30 even if it's removed after some work. So i checked MeasureTool sources and found out that problem is FeatureNode with AltitudeSymbol::TECHNIQUE_GPU. In this case, FeatureNode uses ClampableNode in each rebuild, and ClampableNode pushes itself to ClampingCullSet in traverse method.

It's fine if this technique drops my fps, probably because GPU on my testing machine is old. But main problem is that if i remove FeatureNode from my graph (because i don't need it anymore) FPS don't back to normal, ClampableNode still here and i can't get rid of it. Probably because ref_ptr of ClampableNode still in ClampingCullSet?

Of course i can write my own class similar to MeasureTool without FeatureNode with TECHNIQUE_GPU, but i want to know, are there any workarounds? Because looks like it's common problem with annotations that use ClampableNode.

Maybe ClampableNode is not a problem, but i didn't find any other clues...

Also, unlike REX engine, with MP engine FPS is back to normal after removing annotation with TECHNIQUE_GPU.

My build is osgEarth 2.10 + osg 3.6.3
Tension Tension
Reply | Threaded
Open this post in threaded view
|

Re: Annotations with TECHNIQUE_GPU and fps

So, because ClampingCullSet still contains entry with ClampableNode (even if annotation that creates it doesn't exist anymore) and valid bounds because of it, OverlayDecorator always uses ClampingTechnique, even if i don't need it anymore.

Looks like drape technique has the same problem, but this method doesn't affect my fps so much on REX engine unlike ClampingTechnique (GPU).

It turns out there is no way to disable Clamping (or Draping) technique if i use it once?
gwaldron gwaldron
Reply | Threaded
Open this post in threaded view
|

Re: Annotations with TECHNIQUE_GPU and fps

Tension,
If you would kindly submit a GitHub issue for this, we will put it in the to-do list. Thanks!
Glenn Waldron / Pelican Mapping