Windows – Running two graphics cards (non-SLI) to power 3D on two different monitors

gpugraphics cardmultiple-monitorswindows 7

I'm a bit clueless about this, so excuse my naivety.

I have two video cards, a Nvidia 8800 and a GT120, powering three monitors.

I run two 3D game instances (two Everquest 2 clients), one on each of my first two monitors. It's been running fine, although sometimes it sounds like the computer is trying to take off.

Today I realised that I was actually playing them on the two monitors that are both powered by the 8800. Thinking that I might as well make use of the power of both cards I tried switching the monitor cables over so that each card would be "powering" one of the clients. (Is it silly to assume this is how it works?)

This doesn't seem to have had the desired effect, as the client running on the 8800 screen is running worse than it was before.

Is it even possible to run two clients on separate GPUs? Is SLI the only way to utilise 2 GPUs? Is there something special I have to do? Or do I have to set the client to use a particular GPU (an option I can't seem to find in EQ2)?

I run the clients in window mode if that makes any difference, and I'm running Win 7.

Thanks.

Best Answer

Today I realised that I was actually playing them on the two monitors that are both powered by the 8800. Thinking that I might as well make use of the power of both cards I tried switching the monitor cables over so that each card would be "powering" one of the clients. (Is it silly to assume this is how it works?)

This doesn't seem to have had the desired effect, as the client running on the 8800 screen is running worse than it was before.

I assume you are running Everquest in Windowed mode. From the website it says it uses DirectX 9.

Presumably the game is written to create an instance of the IDirect3DDevice9 object that provides 3D acceleration on the default adapter. This most likely will be your GeForce 8800.

When you drag the window on to your second monitor running the GT120 there is no magic trick to swapping the 3D acceleration over to the GT120 (you would have to copy all the assets from Card A to Card B, what if one card is DirectX 8 compatible, what if one card is DirectX9, what if there isn't enough VRAM on Card B, what if you have the window spanning two monitors), so the GeForce 8800 renders the scene and then Windows copies it into the framebuffer of the GT120.

The latter step is where you will see the performance degradation.

Or do I have to set the client to use a particular GPU (an option I can't seem to find in EQ2)?

You have two solutions/workarounds:

  1. Make Everquest launch on the different adapters. You will probably need third party software to accomplish this. There are some DirectX tweaking programs out there that might do it.
  2. Use SLI. This will accelerate the rendering and hopefully accelerate the copying between one adapter and the next, assuming SLI is smart enough. You may want to research this more to make sure SLI will give you a significant performance increase in this scenario.
Related Question