Sign in to follow this  

Using two DX9 devices

This topic is 4198 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, I have an upcoming project which requires a double monitor output. Each monitor will be showing different DX9 graphics. With a single gfx card, I use D3DADAPTER_DEFAULT to create the device. Firstly how do I go about referring to two gfx cards? Also, is it better to have two gfx cards or one dual head one? It wont be the most demanding 3d application ever! Thanks for your help Simon

Share this post


Link to post
Share on other sites
Quote:
Original post by sipickles
With a single gfx card, I use D3DADAPTER_DEFAULT to create the device.

Firstly how do I go about referring to two gfx cards?

If you *know* there's two adapters, you can use 0 and 1 instead of D3DADAPTER_DEFAULT. The proper way to do it is to enumerate all adapters with IDirect3D9::GetAdapterCount() and IDirect3D9::GetAdapterIdentifier().

Quote:
Original post by sipickles
Also, is it better to have two gfx cards or one dual head one? It wont be the most demanding 3d application ever!
Define "better". Two cards mean twice the throughput. A dual-head card just means it can deal with two devices, both managed with the same card. You should be fine with a dual head card if it's fairly lightweight.

Share this post


Link to post
Share on other sites
What Steve said, and:

- There are three typical multimonitor configurations you'll find:

A) two physically separate graphics cards, potentially different cards from different vendors using different interfaces (e.g. ATI X900 in the AGP, amd an nVidia Riva TNT in the PCI). Each adapter shows up separately to Direct3D and Windows.

B) an old style multihead card (or one with older drivers). The outputs appear to Direct3D and Windows to be two separate cards (as with A), though they may or may not share some hardware internally (implementation detail - you have no access in this configuration)

C) new style multihead card. The outputs still show up in Windows as two separate outputs, but to Direct3D they show up as a true multihead device.


For A and B, you'll need to create two separate Direct3D devices. For C, take a look at the Multihead documentation in the SDK (so I don't have to repeat it here [smile]):

DirectX Graphics ->
Programming Guide ->
Programming Tips ->
Multihead


With true multihead (C), you can share resources between each of the outputs and so save memory. With separate devices, you'll need to duplicate resources for each output.

Share this post


Link to post
Share on other sites
Another little note that's hidden away in the SDK somewhere. When attempting to create two devices, the creation of the second will cause a lost device of the first. Simply "Create A", "Create B", "Reset A" to have both devices active.

This may have been an odd DX8 thing, and may be gone in DX9. I just thought I'd warn you ahead of time.

Share this post


Link to post
Share on other sites
Quote:
Original post by sipickles
Can anyone recommend a good multioutput gfx card for around £100, of the (C) variety defined by S1CA?

Thank you

Simon


Practically all Ati or NVidia cards sold today are of this variety, if they have multiple output connectors.

Share this post


Link to post
Share on other sites
Quote:
Original post by Nik02
Quote:
Original post by sipickles
Can anyone recommend a good multioutput gfx card for around £100, of the (C) variety defined by S1CA?

Thank you

Simon


Practically all Ati or NVidia cards sold today are of this variety, if they have multiple output connectors.


Yeah, anything from the ATI 9xxx or nVidia FX lines should support 2 devices (probably many earlier cards as well). However, make sure the card has two physical monitor outputs. My old Radeon 9200SE supported 2 devices, but only had 1 VGA out.

Share this post


Link to post
Share on other sites

This topic is 4198 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this