two graphics cards

davidh

Freshman
Joined
Jul 8, 2003
Messages
31
Location
UK
Hi,

If I have a machine with two graphics cards, is it possible to output different things to each one using the same program? I have a program which currently allows the user to choose their location on a map, and then play videos and other info about it, and the client is asking if it's possible to have a repeater screen which only plays the video content, and displays a logo the rest of the time.

I've tried to google it, but I'm not quite sure of the correct terminology, so have drawn a blank so far!

Thanks

David
 
David,

It seems to me that you could create two devices, one for GPU1 and the other for GPU2 and then render each one at the same time. The method for doing this would the same as doing multiple monitor coding.

Basically, you want to do:

[CSHARP]
Direct3D.Device mainGPU;
Direct3D.Device secondaryGPU;

public void RenderScene()
{
mainGPU.BeginScene();
// Render code for the first GPU here...
mainGPU.EndScene();
mainGPU.Present();

secondaryGPU.BeginScene();
// Render code for the second GPU here...
secondaryGPU.EndScene();
secondaryGPU.Present();
}
[/CSHARP]

So really, it would be no different than making an application with only one GPU, except the load on the CPU will be doubled. Keep in mind you'll want to keep two sets of DeviceCaps, because it's unlikely that each graphics card has the same capabilities.

Hope that helps you out.
~David
 
Last edited:
Back
Top