Hi Bradley,

Good detective work on getting a minimal repro example.

In the past, I've reported a few driver bugs to devsupp...@nvidia.com and gotten pretty quick responses. I encourage you to submit your example to them, just make sure you include all necessary DLLs so they can run it. They will be able to fix it with just a binary repro example, they don't need source.

Good luck,

J-S


On 16/10/2012 2:50 PM, Bradley Baker Searles wrote:
Hi,

Short Version

Run the attached files with the osgCamera example on your nVidia Geforce GPU (we're on 
Windows), with the parameters "-s -3 [FILENAME]". You'll notice the file 
1_UV.OSG renders the single triangle fine. 2_UV.OSG does not render correctly across the 
windows (it  added only a second UV set).

Has anyone else seen this and have any other solutions or workarounds, other 
than enabling VBO and/or multi-threaded viewer?

Long Version

We've identified an issue with nVidia Geforce hardware and geometry with 
multiple UV sets when being displayed on multiple windows. This may be a driver 
bug, as we don't see it on Intel or AMD GPUs (or interestingly, an nVidia 
Quadro in a laptop here), but there are some interesting details.

I've narrowed the problem down to an OSG file containing a single triangle, and 
I can reproduce the issue in the osgCamera example. I will attach the minimal 
example files.

The issue only seems to appear in the single threaded viewer model. When running with the 
parameters "-s -3" in osgCamera, we get the following behavior:

1_UV.OSG - Single triangle with one texture, one UV set. Works fine.

2_UV.OSG - Same as above, but added one additional UV set. Initially it was 
another texture added as well, but that is unnecessary to generate the problem. 
Triangle only renders in one of the spawned windows.

2_UV_VBO.OSG - Same as 2_UV.OSG, but with VBO turned on. Renders fine across 
all windows.

So the two workarounds we've found so far is to enable VBO on all geometry, or 
enable the multi-threaded viewer.

Using VBO across the board does give us a performance hit in our application, 
from 5% to 35% depending on the scene being rendered and the GPU/Driver combo 
(including Intel and AMD).

When we first enabled it on our OSG Composite Viewer, the multi-threaded mode was set, 
but "startThreading" was never called (we're creating our own windows, so 
realize is not called). Interestingly, this seems to have made the geometry corruption 
issue go away even though the additional threads were not spawned... Enabling the 
multi-threaded viewer properly has caused some other misbehavior in our app, but we may 
be able to work around the problems.

Platform:
Windows 7 x64
16 GB RAM
nVidia 680, driver 306.97 (we've tried back to 275.33 with a 460 board)
OSG 3.0.0 via VS 2010 SP1
Two monitors (so my osgCamera example spawns across them both, although we've 
reproduced the issues on a single monitor machine).

Any help, suggestions, or commiseration would be appreciated :)

Thanks!
Baker Searles

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=50634#50634




Attachments:
http://forum.openscenegraph.org//files/20121016_nvidia_multi_context_render_corruption_191.zip


_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org



--
______________________________________________________
Jean-Sebastien Guay              jean_...@videotron.ca
                    http://whitestar02.dyndns-web.com/

_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to