Hi there,
> A customer is having trouble running our OSG-based application on his
> computer. I sent him osgviewer.exe and when he runs "osgviewer.exe cow.osg"
> it works, but this message is printed on the console: Warning: RenderBin
> "RenderBin" implementation not found, using default RenderBin as a fallback.
>
> It's just a warning and he does see the cow, but I'm wondering if this
> message is a symptom of some other problem? FWIW, his workstation-class
> laptop has a FirePro m8900 video card with up to date drivers.
Some month ago, this post appeared on the forum and was not yet
finally solved. I found that forum thread because I experienced very
similar problems:
- sporadical "Warning: RenderBin "RenderBin" implementation not found,
using default RenderBin as a fallback"
- even more sporadical "Warning: RenderBin "DepthSortedBin"
implementation not found, using default RenderBin as a fallback"
- the problem occurs, when setting up some scene data for several
views on program start
- most likely, the problem occurs only with multi-threaded threading
models (furthermore, I could observe concurrent initialization of
static RenderBinPrototypeList while debugging)
Roberts suggestion was:
> This suggests a race condition on the static initialization inside the static
> RenderBinPrototypeList* renderBinPrototypeList() method. On technique we
> could employ is to use a local static initializer object that forces the
> static initialization:
>
> struct ForceRenderBinProtypeListInitializer
> {
> ForceRenderBinProtypeListInitializer()
> {
> OSG_NOTICE<<"Forcing initialization"<<std::endl;
> renderBinPrototypeList();
> }
> };
>
> static ForceRenderBinProtypeListInitializer
> s_ForceRenderBinProtypeListInitializer;
>
> This is a bit hacky, but it might work. The alternative would be to add a
> static mutex and use this with the renderBinPrototypeList() but this would
> have it's usage slower just because of initialization which isn't a good
> solution. I've attached a modified version of RenderBin.cpp from svn/trunk,
> could you try this out on your system to see if cures the warning?
After recompiling my OSG 3.0.1 with this change, I tried it out on a
couple of Win 7 x64 machines where the problem occurred from time to
time. Well, the warnings did not show up in about 500 runs per system.
As I stated in the web repository of svn trunk, this change was not
committed yet. Maybe, one could submit it, now?
Cheers,
Matthias Schütze, Germany
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org