Jump to content
Xtreme .Net Talk

Recommended Posts

Posted

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

Posted (edited)

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

Edited by zeldafreak

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...