I have a problem which may or may not be specific to Windows, or in fact a problem with NVidia drivers.
I want to use PBOs to stream a dynamic texture (1024x1024, 32-bit BGRA). So I wrote some code that uses GLUT and it works and is very fast (4ms on my 7800GT, ForceWare drivers 81.98). I then ported this to Java, using Java Bindings for OpenGL (JOGL), and am now facing the problem that using PBOs is dreadfully slow (~60ms as opposed to 7…8ms with normal glTexSubImage2D). I have since identified that the problem goes away when switching from dual-display to single display, the Java/JOGL version is then on par with the C++/GLUT version.
I was assured by the JOGL maintainers that apart from wrapping the OpenGL API, it doesn’t do anything fancy. In particular, the chosen pixel format (PFD) is the same as what GLUT chooses. So my question is does anyone have an idea why PBO performance may suffer on a dual-display setup?
I had originally posted this on the JOGL forum, at http://www.javagaming.org/forums/index.php?topic=11873.0 , where the interested reader may find sample code. I’d be delighted to hear people trying to reproduce the problem on different hardware (ATI, maybe? although they don’t support PBOs do they now).
Thanks for your help in advance,