63 votes

Comment arrêter le redimensionnement de Windows lorsque le canal d'affichage du moniteur est éteint / commuté sur une autre source

J'ai un nouvel adaptateur Amd Radeon 6870 avec ses pilotes réglés sur une résolution de 1080p 60Hz connecté à un téléviseur Samsung haut de gamme de 47 pouces 2008 basé sur HDMI.

Cependant, lorsque la télévision est tournée vers une autre entrée HDMI (lorsque je reviens à Windows), Windows décide de redimensionner toutes les applications ouvertes à une résolution inférieure, y compris certaines des fenêtres pop-up cachées et ancrées sur le côté. Lorsqu'il redimensionne ces dernières, il place les pop-outs au milieu de l'écran et toutes les fenêtres redimensionnées des applications ouvertes dans le coin supérieur gauche, toutes empilées les unes sur les autres et redimensionnées à la plus petite résolution.

Les choses qui semblent être correctes après le retour sont les icônes du bureau, de la barre des tâches et de la barre latérale.

Quelqu'un sait-il 1) comment cela se produit 2) pourquoi cela se produit 3) comment l'empêcher de redimensionner les applications et certains des pop-outs ancrés (ils ne sont pas vraiment redimensionnés après le retour - ils sont juste coincés au milieu de l'écran à peu près là où ils seraient si la barre latérale droite ou inférieure devait être si l'écran était redimensionné à cette résolution inférieure).

Mon hypothèse est qu'en cas de perte du signal HDMI, Windows est informé par quelque chose (pilote, ou Windows lui-même) que la résolution doit être sans qu'un signal soit présent (en notant que les signaux HDMI et les poignées de main sont bidirectionnels sur les périphériques HDMI. S'il perd le signal ou si la télévision est commutée sur un autre appareil, alors l'adaptateur d'affichage doit le découvrir et le dire à Windows ou le découvrir et concevoir de manière aléatoire de changer la taille de l'affichage).

Toute aide est la bienvenue. J'ai demandé à AMD/ATI - mais ils ont dit qu'ils ne savent pas pourquoi ou comment cela se produit. J'espérais que c'était peut-être LE site où les super utilisateurs allaient vraiment - ceux qui développent des pilotes d'adaptateurs d'affichage, ou qui se plongent profondément dans ces domaines de Windows. S'il existe de meilleurs sites ou simplement des sites concurrents, veuillez m'en informer, sachant que j'ai déjà écrit AMD/ATI.

Réponse / Ajouts 4/7/2011

C'est vraiment agréable de recevoir ta réponse Shinrai. (BTW, est-ce que l'étiquette correcte sur ces forums est d'avoir une discussion ?) Pourtant, il n'y a qu'un seul problème : j'utilise une affichage unique dans ce cas - pour que Windows ne déplace pas l'application Windows vers un autre bureau. Windows (ou quelque chose comme ça) décide de réduire le bureau qu'il possède actuellement et de redimensionner toutes les fenêtres à la taille maximale du bureau. En tant que tel, je serais heureux que Windows conserve la taille actuelle de l'unique bureau en service.

Je sais également que cela ne se produit PAS sur les moniteurs connectés en DVI. J'ai eu des configurations à un et deux moniteurs et il ne redimensionne pas du tout ces écrans lorsqu'on les déconnecte, les éteint, etc... ils restent solides - tout est en place - à tel point que si vous oubliez que l'autre moniteur est éteint, vous aurez des difficultés à trouver des fenêtres sans utiliser l'un des utilitaires de l'application de contrôle.

Donc, si j'arrivais à faire en sorte que la gestion de l'HDMI par Windows (ou le pilote d'affichage) ( 1] qui fait ça de toute façon, le pilote d'affichage ou Windows - et 2] d'où vient cette autre taille de résolution (1024x768) - ce n'est pas la plus petite ni la plus grande ?) pour avoir la même chose que le DVI - la vie serait dorée (pour cet aspect en tout cas).

** J'ai trouvé d'autres personnes ayant le même problème dans ce fil : http://hardforum.com/showthread.php?t=1507324

34voto

Arunas Bartisius Points 1312

J'ai creusé autour de ce problème pendant deux jours, et j'ai trouvé quelques types de solutions :

  1. Solution universelle, logiciel PersistentWindows qui enregistre toutes les positions de Windows et surveille l'affichage. Si la résolution est changée et changée à nouveau, alors il restaure les mêmes tailles et positions ! C'est exactement ce que je voulais. La dernière version fait simplement son travail, et reste silencieusement dans la barre d'état système. Lien

  2. Bifurcation du numéro 1, mais nécessite Windows 10 Creators Update. Meilleur support des hautes DPI. Plus efficace au niveau du CPU. Lien

  3. Pour certains utilisateurs d'ATI, cela fonctionne, pour d'autres non, il y a des confirmations que cela fonctionne. La solution est d'utiliser un hack de registre avec la clé DMMEnableDDCPolling pour désactiver complètement l'interrogation de la connexion du moniteur sous Windows. L'inconvénient est que vous devez redémarrer le système après le changement, et dans le cas où vous avez juste besoin de connecter rapidement un écran externe, ce n'est pas pratique. Lien

  4. Les propriétaires de cartes NVIDIA ont de la chance. La solution consiste à coder en dur les informations EDID du moniteur dans le fichier onfile d'un pilote VGA, et ainsi le système pense que cela ne change pas. Gestion de l'EDID d'un écran sous Windows

  5. Solution matérielle pour la connexion HDMI, ils vendent leurs adaptateurs sur le web et aussi eBay. Lien

  6. Une utilité de plus Gestionnaire de mise en page Windows pour sauvegarder les mises en page et les restaurer à la demande (gestion de plusieurs mises en page). C'est beaucoup plus complexe et plus puissant, mais cela peut être excessif pour les utilisateurs réguliers. Lien

Je reste avec le #1 pendant un certain temps (déjà depuis 2015 :) ), et si trouveront plus, ils partageront.

15voto

Nomura Points 139

J'ai eu ce problème avec ma Radeon R9, tout ce que j'ai fait c'est de désactiver le GPU scalling dans AMD Catalyst.

Mais pour une raison quelconque, cela se produit encore, sauvegardez d'abord votre registre ! Ensuite, ouvrez votre registre Windows et allez dans :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration

Seulement sous les touches "SIMULATED" ou "NOEDID" (Windows 10), changez les décimales des touches en :

PrimSurfSize.cx = 1920
PrimSurfSize.cy = 1080

Sous "00" :

ActiveSize.cx = 1920
ActiveSize.cy = 1080

Passez à la résolution que vous utilisez. Cela empêchera votre fenêtre de rétrécir ou de se déplacer d'un côté à l'autre lorsque vous éteignez votre écran.

5voto

Shinrai Points 18585

Votre intuition est correcte ; le moniteur arrête essentiellement la poignée de main sur ce canal HDMI lorsque vous changez l'entrée. Windows 7 voit cela comme "Il n'y a plus de moniteur connecté ici", et désactive alors cette sortie. Puisque cet écran n'existe plus, tout ce qui s'y trouvait doit aller QUELQUE PART, donc il mélange tout sur vos autres écrans, et ce n'est pas gracieux. Lorsque l'écran réapparaîtra, Windows 7 se souviendra de la façon dont vous avez organisé les choses dans une certaine mesure, mais il ne remettra pas vos fenêtres en place (vous avez pu les fermer, les ouvrir ou les déplacer entre-temps, après tout !)

Il n'y a rien que vous puissiez faire avec les pilotes d'affichage qui puisse résoudre ce problème ; c'est le comportement du système d'exploitation et bien que ce soit peu pratique pour votre situation, c'est logique. (L'alternative est d'avoir des choses sur des moniteurs qui n'existent pas réellement, ce que XP faisait parfois et laissez-moi vous dire que c'était un cauchemar). Il peut y avoir un logiciel tiers qui peut forcer ceci à ne pas se produire, mais je n'en connais aucun à l'avance et je soupçonne que vous courriez le risque de causer d'autres problèmes. (Si quelqu'un peut effectivement en poster, je serai heureux d'upvoter ces réponses).

3voto

brismuth Points 131

Aucun matériel supplémentaire n'est requis

  1. Instale TeamViewer o Bureau à distance de Chrome sur l'ordinateur qui présente le problème, et activez les connexions à distance.
  2. Éteignez le téléviseur/moniteur.
  3. La résolution change toute seule .
  4. Connectez-vous à l'ordinateur à distance en utilisant le logiciel de l'étape 1. Comme indiqué dans la question, la résolution a changé.
  5. Remettez la résolution à la normale (telle qu'elle est lorsque le téléviseur/moniteur est allumé), en utilisant votre connexion à distance.
  6. La résolution ne change plus lorsque le téléviseur/moniteur est éteint.

3voto

Kang Yu Points 51

Je recommande vivement une solution purement logicielle "PersistentWindows" ( version originale ), comme indiqué dans les messages précédents.

L'application garde la trace de la taille et de l'emplacement des fenêtres, et rétablit automatiquement leur dernière disposition lorsque la même configuration de moniteur est à nouveau active.

Basé sur le code source original et une version optimisée pour l'exécution. sur github J'ai réussi à apporter les améliorations suivantes,

  1. Correction d'un blocage aléatoire dû à des demandes massives de redimensionnement de la fenêtre et mise à jour du code de Visual Studio.

  2. Une expérience de bureau à distance plus fiable

  3. Peut être exécuté comme tâche de démarrage de Windows

Pour ceux qui veulent essayer la nouvelle version, voici le lien vers le site de la nouvelle version PersistentWindows

Profitez-en !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X