Aller au contenu

[CG] [Resolu] Problème "Just Cause 2" et multi-GPU


chaps

Messages recommandés

Bonjour,

Tout d'abord, avant d'expliquer le problème, je plante le décor :

Tour :

Intel Core i7 950@3.2Ghz

Asus Rampage III Extreme

24Gio RAM DDR3 PC8500

Zotac GTX480 AMP!

Gainward GTX275 Golden Sample

Seasonic M12D 850W

Ecrans :

Dell 3007WFP-HC

Alienware OptX AW2310

Sony KDL-52z4500

La télé est branchée en HDMI sur la GTX275, le 30" et l'Alienware sont branchés en DVI-D DualLink sur la GTX480. En règle générale l'Alienware est désactivé dans les pilotes, afin de permettre à la GTX480 de se mettre en état de veille avancée (si deux écrans sont activés, les fréquences ne descendent pas au minimum). L'OptX AW2310 est activé au besoin quand je désire jouer ou regarder un film en 3D.

L'écran Dell 30" est configuré en moniteur principal (écran 1), le téléviseur Sony est configuré en moniteur secondaire (écran 2).

La GTX275 est désignée comme processeur PhysX dans les drivers Nvidia (260.99 WHQL).

Ce qui se passe habituellement :

Quand je lance une application plein écran, celle-ci se lance sur le moniteur principal (le 30") et utilise le GPU de la GTX480. Quand je lance une application fenêtrée, celle-ci utilise le GPU auquel est relié le moniteur sur lequel l'application est lancée.

Si je lance une application fenêtrée sur le téléviseur (GTX275) et que je déplace la fenêtre sur le 30", c'est toujours la GTX275 qui est utilisée pour effectuer les calculs. Par contre c'est évidemment la GTX480 qui gère l'affichage puisque c'est elle qui est reliée à l'écran. Et réciproquement pour les applications fenêtrées que j'ouvre sur le 30" et que je déplace sur la télé.

Une exception à cette règle concerne la lecture des Bluray, avec un blocage de l'image pendant quelques secondes au passage d'un moniteur à l'autre (certainement à cause du HDCP). Afficher le film à cheval sur 2 écrans n'est pas une bonne idée, la dernière fois que j'ai essayé PowerDVD a rendu l'âme :transpi:...

Ce qui se passe avec Just Cause 2 (du moins la démo Steam) :

Le jeu se lance, et tente de se mettre en plein écran sur le moniteur 30". Malheureusement, il échoue et passe en fenêtré. Impossible de le faire passer en plein écran, par contre le changement de résolution en mode fenêtré ne pose pas de problème.

Par curiosité j'ai lancé le "test de performance" intégré au jeu. J'ai obtenu des scores corrects, mais pas non plus faramineux. Et un coup d'½il aux températures m'a vite apprit pourquoi, le GPU de la GTX275 était en train de monter en température tandis que celui de la GTX480 restait stable. GPU-Z a vite confirmé mes soupçons, le jeu utilise la GTX275 au lieu de la GTX480. Cela explique très certainement pourquoi le mode plein écran échoue.

Auriez-vous, chers Inpactiens, une explication sur cette gestion pour le moins particulière des GPUs ? Une idée de comment corriger cette situation (débrancher 2 écrans n'est pas une solution valable :non:) ?

Lien vers le commentaire
Partager sur d’autres sites

C'est probablement lié au fait que Just Cause 2 soit un jeu CUDA.

Dans le panneau de configuration nVidia, il n'y a pas moyen de spécifier la GTX480 comme unique GPU CUDA pour Just Cause 2 ? J'ai aussi trouvé cet article, et il semble donc que ce soit possible.

Peut-être qu'en fait, en spécifiant la GTX275 comme carte PhysX, les drivers la considèrent aussi comme carte CUDA principale.

Lien vers le commentaire
Partager sur d’autres sites

Merci Kenpachi :chinois: !

Je pensais qu'il était toujours possible d'effectuer les calculs PhysX / CUDA de manière indépendante des calculs graphiques à proprement parlé. En d'autres termes, je pensais qu'il était toujours possible d'y dédier un GPU indépendant de celui utilisé pour la géométrie, les textures et l'affichage "classiques". C'est pourquoi j'avais forcé l'utilisation de la GTX275 en processeur PhysX, pensant inutile que la GTX480 doive tout se farcir pendant que la GTX275 se tourne les pouces.

Étant actuellement au travail je ne peux pas tester tout de suite, mais ce que tu dis se tient. Je testerai ça se soir, et je te tiens au courant :yes: !

Lien vers le commentaire
Partager sur d’autres sites

Bon, après quelques tests, voici les résultats :

  1. Régler le processeur PhysX sur "auto" => Aucun changement
  2. Régler le processeur PhysX sur "GTX480" => Aucun changement
  3. Forcer les calculs CUDA sur la GTX480 pour Steam => Aucun changement
  4. Forcer les calculs CUDA sur la GTX480 pour Just Cause 2 => Aucun changement

Aucune combinaison de ces différents essais n'a changé quoique ce soit :craint:.

En revanche, désactiver la sortie sur le téléviseur permet enfin d'avoir un affichage calculé par la GTX480 :yes: ! Du coup le plein écran fonctionne, et tout ce qui va avec. La GTX275 ne semble cependant pas du tout utilisée (même pas pour les calculs PhysX ou CUDA) :pleure:.

Je met le sujet en résolu, même si on pourrait plutôt dire qu'il est contourné (devoir désactiver un moniteur avant de lancer le jeu, c'est reloud).

Merci pour ton avis Kenpachi :chinois: !

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...