2011-02-24 6 views
1

Je travaille sur une application SlimDX qui fonctionne pour l'affichage multiple. Les applications occupent l'affichage sélectionné, et sa sélection est entrée via la ligne de commande, comme int. J'utilise ensuite System.Windows.Forms.Screen.AllScreens[selection] pour connaître la limite et afficher mes applications "fullscreen" sur cet écran. Maintenant, pour optimiser les performances, j'ai besoin de sélectionner quelle carte gpu pour initialiser le périphérique Direct3D. Comment puis-je savoir quel adaptateur gpu alimente l'affichage sélectionné?Découvrez quel écran appartient à quel adaptateur?

Étant donné que chaque adaptateur gpu peut avoir un ou deux écrans connectés, je ne peux pas utiliser le numéro d'affichage.

J'utilise Direct3D10. Cela ne me dérange pas la solution dans Direct3D9.

Le pire des cas serait de laisser l'utilisateur sélectionner l'affichage et l'adaptateur via la ligne de commande, mais je préfère une méthode de fou.

Merci

Répondre

2

Les deux D3D10 et l'utilisation de D3D11 DXGI pour gérer les détails comme celui-ci. L'interface Factory que vous créez vous permet d'obtenir une liste des adaptateurs installés sur le système. Chaque adaptateur peut avoir une ou plusieurs sorties, que vous pouvez énumérer depuis l'interface de l'adaptateur.

Vous obtiendrez ainsi une liste des interfaces de sortie, qui ont une propriété Description qui contient, entre autres, un rectangle des limites de la sortie ainsi qu'un handle IntPtr vers le moniteur sur lequel elle s'exécute.

Je ne pense pas que la classe Winforms Screen expose le pointeur natif sous-jacent, ce qui explique pourquoi nous fournissons la classe SlimDX.Windows.DisplayMonitor pour remplacer la classe Screen. Vous pouvez l'utiliser pour déterminer les détails particuliers de l'affichage et choisir l'adaptateur approprié à vos besoins.

+0

Je m'attendais à des propriétés de sortie, c'est pourquoi je ne l'ai pas trouvé. C'est pour la solution et l'info sur SlimDX.Windows.DisplayMonitor, c'est très utile – faulty

+0

Je l'aime quand Google a déjà la réponse à ma question et c'est sur Stackoverflow :) Je trouve SlimDX très utile btw. Merci de l'avoir fait. – U62

Questions connexes