Hi Robert,
Have you seen my latest email with a repro showing a bug ? I have the
feeling you skipped it while preparing for you recent voyage.
This repro "works" on both Vista and XP (dual view is a must to observe the
bug). I suspect that this issue is OS independent and should manifest in
other systems as well. It looks like Viewer::Realize overlaps with first
Update traversal.
Cheers,
Wojtek Lewandowski
Hi Robert,
Attached is a modified version of prerender.cpp.
Waving flag geometry has commented /*setSupportsDisplayLists( false )*/ to
actually allow display list compilation on it.
Without display list compilation, race condition existed but did not cause
obvious visual problems in this example, because drawable was actually
applied in draw phase. It was possible to notice it in Debugger, though.
I modified update callback to set flag color to red at the beginning, wait
one second (to see results and yield control to other threads) and set
colour to green just before returning from update callback.
In other words if gl compile objects gets called concurently with update
it
will be possible to see red flag.
If everything is fine we should constantly see green flag. (See attached
screenhots)
My Testing (Windows XP, NVidia 7800, Athlon x2)
Red flag is always shown at application startup on first frame then
changes to green in subsequent frames.
If one is lucky, red can be also noticed when threading mode gets
changed with threading handler (does not happen always).
I hope this test is reproducible at your site ;-)
I am going home now, will be back tomorrow.
Cheers,
Wojtek Lewandowski
Hi Wojtek,
On Thu, Apr 24, 2008 at 3:10 PM, Wojciech Lewandowski
<[EMAIL PROTECTED]> wrote:
I will try to create a simpler example that clearly shows the issue. I
hope
this issue its not Windows only and you will be able to repeat it.
Thanks for pursuing this. I wouldn't have thought this is a windows
specific issue, but.. threading bugs are often hard to reproduce and
track down, slight timing differences can mean a crash or not, so
slight differences in timing across platforms can make it seem like
the problem is platform specific when it isn't really.
Distilling an example down to what makes it break, and charaterising
when and where it happens is what will lead us to properly
characterising the problem, the shortly after this it's likely we'll
know how to fix it.
FYI, on multi-threading rendering to texture effects on my dual head
machine I do see occasional flickers that suggest a threading issue,
but I don't see a crash, but there is a least a hint that things
aren't quite right.
Robert.
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
--------------------------------------------------------------------------------
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org