During XNA start-up you can create your own custom GraphicsDeviceManager that can rank or choose devices based on criteria you provide.
MSDN:
GraphicsDeviceManager
Class
Handles the configuration and management of the graphics device. Custom behavior of the GraphicsDeviceManager can be achieved by deriving a class from GraphicsDeviceManager. For example, to allow only widescreen devices in full-screen mode the RankDevices method could be overridden to drop non-widescreen devices. - Tell me more...
During the call to your RankDevices()
method, you can inspect the list of GraphicsDeviceInformation
to determine information about the adapter and device.
RankDevices()
orders the provided list so that devices earlier in the list are preferred over devices later in the list. This method can remove devices from the list if they do not satisfy some custom criteria. Tell me more
Each GraphicsDeviceInformation
object has an Adapter
property of type GraphicsAdapter
. There you will find such useful properties as:
- Description
- DeviceId
- DeviceName
- VendorId
...and many more.
More