NVidia dualview performance/fence/general problems

For quite some time we have been having ups and downs with regard to opengl and dualview performance.

In our application we need to be able to do opengl rendering in 3 areas, offscreen, primary display, and secondary display.

Now, we cannot run span as the secondary display is required to be quite different in dimensions so we use dualview. We also use Fence quite a bit as not using causes a massive performance hit for us.

NVidia support 4 opengl ‘modes’, multi display performance, single display performance, compatible performance, and single gpu multi display performance.

For a short time back in 178.xx days, single gpu multi display gave us great performance on both displays, some time around 180 that stopped working.

Multi display compat usually works, however its performance is terrible (about half of normal).

Multi display performance just seems broken, we cannot coax much useful out of it, and NV_Fence does not work here for us.

Single display of course works, but we cannot use the second monitor (we end up copying stuff back out of the card and redrawing in GDI).

Now, at present we render everything through a single context, allowing the maximum resource sharing which is quite important as everything we are doing is quite hard realtime, and very performance critical. Do we need seperate contexts for the windows perhaps? means a lot of context changes, which seems bad.

Are we missing something? this seems to be quite a moving target, and since 180.xx we have not been able to find a good solution, I can only imaging I am missing something big picture here, because it just cannot be this ‘broken’ can it?

Any comments out there? we cannot be the only people who need to do this. I would love to hear others experiences/ideas?

Interesting, I was just reading a post about similar problems with the GF8800 on the Apple OpenGL lists. This was specifically describing instabilities when trying to do this sort of thing with 2 full screen contexts…

I have no direct experience of this, but it seems to be a driver issue which has been changing from OS release to OS release since 10.5.3 (OS X) on NVidia GPUs and Apple HW.