Como parar o redimensionamento das janelas quando o canal de exibição do monitor é desligado / alternado para uma fonte diferente

44

Eu tenho um novo adaptador 6870 Amd Radeon com seus drivers configurados para resolução de 60Hz a 1080p conectada a uma TV Samsung de 47 "2008 de ponta baseada em HDMI.

No entanto, quando a TV é transformada em uma entrada HDMI diferente - (quando volto para o Windows), o Windows decide redimensionar todos os aplicativos abertos para uma resolução mais baixa - incluindo alguns dos pop-outs ocultos acoplados na lateral. No entanto, quando o redimensiona - apenas colava os pop-outs no meio da tela e todas as janelas redimensionadas dos aplicativos abertos no canto superior esquerdo - todas elas empilhadas umas sobre as outras e redimensionadas para uma resolução menor.

As coisas que parecem estar bem após o retorno são os ícones na área de trabalho, na barra de tarefas e na barra lateral.

Alguém tem conhecimento de 1) como isso acontece 2) por que isso acontece 3) como impedir o redimensionamento dos aplicativos e de alguns dos pop-ups acoplados (eles não são redimensionados depois de retornar - eles estão presos no meio do a tela aproximadamente onde eles estariam se a barra lateral direita ou inferior estivesse se a tela fosse redimensionada para a resolução mais baixa).

Minha hipótese é que, ao perder o sinal HDMI - que o Windows é informado por alguma coisa (driver ou própria janela) de que a resolução está sem um sinal presente (observando que os sinais e os apertos de mão HDMI são de mão dupla nos dispositivos HDMI. sinal ou a TV mudar para outro dispositivo - o adaptador de vídeo deve descobrir isso e informar ao Windows ou descobrir e projetar aleatoriamente para alterar o tamanho da tela).

Toda e qualquer ajuda é muito apreciada. Perguntei à AMD / ATI - mas eles disseram que não sabem por que ou como isso está acontecendo. Eu esperava que talvez este seja o lugar para onde os superusuários realmente vão - aqueles que desenvolvem drivers de adaptadores de vídeo ou que mergulham profundamente nessas áreas do Windows. Se houver sites melhores ou apenas sites concorrentes - por favor, informe - observando que eu já escrevi AMD / ATI.

Resposta / Complementos 7/7/2011

É muito bom receber sua resposta Shinrai. (BTW é uma etiqueta adequada nesses fóruns para discutir?) No entanto, 'apenas um problema' - neste caso, estou usando uma única tela - para que o Windows não mova as janelas do aplicativo para outra área de trabalho. O Windows (ou algo assim) decide reduzir a área de trabalho que possui atualmente e redimensionar todas as janelas para o tamanho máximo da área de trabalho. Como tal, ficaria feliz se o Windows mantivesse o tamanho atual de uma área de trabalho em operação.

Sei também que isso NÃO acontece em monitores conectados ao DVI. Lá, eu tinha um e dois monitores configurados e ele não redimensiona essas telas quando os monitores são desconectados, desligados, o que seja ... eles permanecem sólidos - tudo no lugar - a tal ponto que se você esquecer o outro monitor está desativado - você terá problemas para encontrar algumas janelas sem usar um dos utilitários de aplicativos de controle.

Portanto, se eu pudesse obter o manuseio de HDMI pelo Windows (ou pelo driver de vídeo) (1], o driver de vídeo ou Windows - e 2] de onde vem esse outro tamanho de resolução (1024x768) - não é o menor e não é o maior?) estar tendo como DVI - A vida seria dourada (pelo menos para esse aspecto).

** encontrou outras pessoas com o mesmo problema neste tópico: http://hardforum.com/showthread.php?t=1507324

Heartspeace
fonte
Eu nunca vi sua resposta até hoje. Você deveria ter deixado um comentário na minha resposta em vez de fazer uma edição na sua pergunta, que é uma forma ruim e não me avisa. Dito isto, o problema ainda é do tipo hardware, portanto, não é possível comprar outro monitor ou adicionar algo para falsificar o sinal de que você provavelmente está sem sorte.
Shinrai 15/05

Respostas:

25

Venho investigando esse problema há dois dias e encontrei alguns tipos de soluções:

  1. Solução universal, programa de software PersistentWindows , que salva todas as posições das janelas e monitora a exibição. Se a resolução for alterada e alterada novamente, ela restaurará os mesmos tamanhos e posições! Exatamente o que eu queria. A versão mais recente apenas funciona e fica silenciosamente em systray. Ligação

  2. Para alguns usuários da ATI, para outros, há confirmações de que funciona. A solução é usar o hack do registro com a chave DMMEnableDDCPolling, para desativar a pesquisa de conexão do monitor no Windows. Advertência é que você precisa reiniciar o sistema após a alteração e, caso precise conectar rapidamente alguma tela externa, isso não é conveniente. Ligação

  3. Sorte os proprietários do cartão NVIDIA. A solução é codificar as informações EDID do monitor em um arquivo de drivers VGA e, assim, o sistema pensa que isso não muda. Ligação

  4. Solução de hardware para conexão HDMI, eles vendem seus adaptadores na web e também no eBay. Ligação

  5. Mais um utilitário Windows Layout Manager para salvar os layouts e restaurá-los sob demanda (gerenciamento de vários layouts). Muito mais complexo e mais poderoso, mas pode ser um exagero para o usuário doméstico. Ligação

Eu fico com o número 1 por um tempo (já desde 2015 :)) e, se encontrar mais, compartilhará.

Arunas Bartisius
fonte
1
Recebi o feedback de alguns outros e, desde então, o transformou em um aplicativo Systray. Obrigado pela referência e divirta-se!
Min
A opção 1 funcionou para o meu 4k Seiki SE39UY04.
DharmaTurtle
Para os sortudos proprietários de cartões NVIDIA - verifique isso, isso me ajudou muito !!! :) sites.google.com/site/ebobster/stuff/displayportblanking
maycca em 7/09/16
Enviei uma solicitação pull, @Min, depois de adicionar uma referência de pacote ao arquivo de configuração, caso contrário, o NuGet falhará. Se você aceitar, enviarei um novo com a opção "executar com Windows" adicionada.
Tom
Meu problema era que as posições dos ícones da área de trabalho estavam se movendo após uma alteração na resolução. Decidi resolver isso criando um serviço muito leve que salva / restaura os ícones da área de trabalho após uma alteração de resolução automaticamente. Confira: github.com/TomONeill/persistentdesktopicons
Tom
9

Eu tive esse problema com o meu Radeon R9, tudo o que fiz foi desativar a GPU scalling no AMD Catalyst.

Mas, por algum motivo, ainda ocorre, primeiro faça backup do seu registro! Em seguida, abra o registro do Windows e vá para:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration

Somente sob as teclas "SIMULADAS", altere as casas decimais para:

PrimSurfSize.cx = 1920
PrimSurfSize.cy = 1080

Em "00":

ActiveSize.cx = 1920
ActiveSize.cy = 1080

Mude para qualquer resolução que você esteja usando. Isso impedirá que a janela encolha ou se mova de um lado para o outro quando você desliga o monitor.

Nomura
fonte
Isso interrompe o redimensionamento das janelas, mas infelizmente para mim não impede que todos se movam para o canto.
Tom Carpenter
Obrigado, isso corrigiu para mim! Não é necessário reiniciar; as janelas não migram para o canto. Eu tenho 2 monitores externos HDMI e o problema ocorreu se eu simplesmente desencaixasse e redock sem abrir a tampa (entre outros casos). Claramente, o sistema de exibição estava percorrendo algumas telas com resolução de 1024x768. Obviamente, as janelas migram para a tela principal, o que é compreensível. Este é um laptop Dell com Intel HD Graphics 520.
Jeff Learman
Interessante. Parece que a resolução máxima simulada é 1600x1200 no Win 7. Ou, pelo menos, se eu tentar definir as chaves para algo maior que isso, parece ignorá-las. Assim, para um monitor UHD é muito chato
Tom Carpenter
3

Seu palpite está correto; o monitor está essencialmente desligando o aperto de mão nesse canal HDMI quando você alterna a entrada. O Windows 7 vê isso como "Não há mais um monitor conectado aqui", quando desabilita essa saída. Como essa tela não existe mais, tudo o que estava nela tem que ir EM ALGUM LUGAR PARA ALUGAR, de modo que embaralha tudo nas telas restantes, e não é gracioso. Quando a tela retornar, o Windows 7 lembrará como você organizou as coisas até certo ponto, mas não embaralhará as janelas de volta (você pode ter fechado ou aberto ou movido-as nesse ínterim, afinal!).

Não há nada que você possa fazer com os drivers de vídeo que podem corrigir isso; é o comportamento do sistema operacional e, embora seja inconveniente para a sua situação, faz sentido. (A alternativa é ter coisas em monitores que realmente não existem, o que o XP às vezes existia e deixe-me dizer que foi um pesadelo.) Pode haver algum software de terceiros que pode forçar isso a não ocorrer, mas eu não conheço de imediato e suspeito que você correria o risco de causar outros problemas. (Se alguém puder realmente postar alguma, ficarei feliz em votar essas respostas.)

Shinrai
fonte
Eu tenho uma configuração semelhante, com meu laptop conectado via HDMI à minha TV da Sony. No entanto, quando troco de entrada, ou até desligo a TV, ao retornar à entrada do laptop, tudo está exatamente como eu o deixei. O Windows permanece maximizado e abrange toda a área de trabalho, os gadgets da barra lateral permanecem os mesmos e os ícones da área de trabalho são onde eu os deixei. Isso me faz pensar que não é um problema com o Windows, e sim a maneira como ele é configurado (hardware ou drivers) ou algo engraçado com a maneira como a TV aperta a mão em HDMI.
Connor W
Além disso, a placa de vídeo no meu laptop é uma placa ATI (ATI Radeon HD 4530), portanto, está usando o mesmo software 'ATI Catlyst Control Center' (especificamente versão 2010.0706.2128.36662 para referência) que eu imagino estar sendo usado para a placa em questão.
Connor W
@ Connor W - Foi basicamente o que eu disse. Os monitores nesse caso estão fazendo o Windows pensar que estão desconectados e, quando isso acontece, tudo fica embaralhado. Claramente, sua TV não faz a mesma coisa, mas isso não é culpa do Windows (como afirmo aqui).
Shinrai 15/05
3

Não requer hardware adicional

  1. Instale o TeamViewer ou a área de trabalho remota do Chrome no computador com o problema e ative as conexões remotas.
  2. Desligue a TV / monitor.
  3. A resolução muda por conta própria .
  4. Entre no computador remotamente usando o software da etapa 1. Conforme indicado na pergunta, a resolução foi alterada.
  5. Aumente a resolução de volta ao normal (como quando a TV / monitor está ligado), usando sua conexão remota.
  6. A resolução não será mais alterada quando a TV / monitor estiver desligado.
brismuth
fonte
Eu não pensei nisso e acho que é uma solução muito inteligente. Verifiquei se isso funcionou para mim, mas notei que minha resolução muda quando ligo a TV em vez de desligá-la. Ele muda rapidamente para a resolução original, rápido demais para alterá-la naquele curto período de tempo em que a resolução está mudando.
Tom
@ Tom talvez tente desconectar a TV também?
Brismuth
2

Seu problema parece uma variação do descrito aqui , que também é causado pela perda do handshake HDMI. A mesma solução de hardware pode funcionar para você: coloque um mini switcher Apogee 3x1 HDMI entre o PC e a TV e fará com que o PC pense que não está desconectado. Não sei se algum switcher HDMI funcionará ou apenas o Apogee recomendado no link acima.

Gatkin
fonte
2

Após meses de frustração e finalmente encontrando esse segmento, encontrei uma solução alternativa que parece funcionar na minha configuração de exibição única (Windows 7 x64 + 24 "Insignia TV). Essa é uma generalização da solução por David M., com as seguintes vantagens :

  • Adaptador HDMI / DVI não é necessário
  • Pode usar cabo VGA em vez de cabo DVI + adaptador
  • Manter saída de áudio HDMI (essencial para a minha TV, que suporta apenas entrada de linha de áudio para sua entrada VGA analógica embaçada)

No entanto, é necessária uma entrada VGA (PC) gratuita na TV e dois cabos são comprometidos com a configuração:

  1. Conecte o PC à TV com o cabo HDMI
  2. Também conecte o PC à TV com cabo VGA
  3. Painel de controle> Tela> Múltiplas telas> Duplicar essas telas

Como alternativa, o cabo DVI + adaptador DVI / HDMI na etapa 2 também funcionou; a observação principal foi David M., apontando que o DVI funciona bem.

Agora, quando ligo ou troco as fontes de entrada da TV, as janelas não encolhem ou empilham na parte superior esquerda. Não tenho certeza se tudo isso funcionou apenas porque minha TV é tão barata ...

ypeels
fonte
2

O problema é causado por um "recurso" irritante do Windows 7/8 para reorganizar as janelas do aplicativo quando o monitor / TV conectado à porta HDMI / Display "desligou" ou "alternou para" uma entrada diferente.

Existe uma solução alternativa de hardware se você usar a conexão HDMI. Pesquise no eBay por "detecção de monitor" e obtenha um em torno de US $ 20. Funciona para mim em uma TV Seiki 39 "4K com conexão HDMI.

free2go
fonte
1

Eu estava tendo o mesmo problema na minha TV LG 42 ". Depois de ler as postagens aqui sobre falsificação do sinal para o Windows, pensei em algo. Eu tinha um adaptador DVI-HDMI extra que não era mais usado. Conecte-o à porta DVI do meu placa de vídeo e, em seguida, o HDMI para isso e não terá mais o redimensionamento de janelas e outros enfeites. Por isso, foi uma solução muito fácil. Você pode obtê-los no RadioShack ou em praticamente qualquer loja de eletrônicos. Espero que funcione para os outros.

David M.
fonte
1

Pesquisando o mesmo problema, eu encontrei este tópico alegando que ele pode ser reparado brincando no registro. Eu também encontrei um tópico de um cara que alegou que era o resultado do uso do DisplayPort.

Tentei a correção do registro e ela não pareceu funcionar (embora não tenha reiniciado, se isso faz alguma diferença). Além disso, meu dispositivo com mau comportamento está conectado a uma porta de exibição na minha placa de vídeo a partir de uma porta DVI no meu monitor e, infelizmente, não consigo confirmar a segunda conta, pois não tenho adaptadores adequados. Mas pensei que poderia ser útil.

Edit: ok, fiquei desesperado e realmente fui emprestar um cabo para esta tentativa. A mudança de um cabo DVI-I com cabo adaptador DVI / DisplayPort para um cabo DVI-I / HDMI de cabo único corrigiu isso para mim. Para mim, isso sugere que é realmente um problema com o DisplayPort, como sugerido pelo cara no HardForum, ou que é um efeito colateral do uso de adaptadores de cabo. De qualquer forma, feliz por terminar com isso.

bwerks
fonte
1

Não é uma correção, mas uma solução alternativa. Notei que, se você minimizar as janelas antes que o monitor seja desligado e não restaurá-las até que a tela retorne, as janelas não serão reorganizadas.

Aproveito esse fato para fornecer uma experiência 'perfeita' para mim, conforme documentado aqui: http://thelamprechts.blogspot.com/2014/09/a-windows-workaround-to-maintain-window.html

shjibby
fonte
0

Se você estiver usando a ATI, precisará criar uma nova chave no registro em HKEY_LOCAL_MACHINE > System chamada DMMEnableDDCPolling. Defina o Valor como 0. Ele desativa a placa de vídeo da pesquisa para ver se algo ainda está conectado basicamente.

Se você estiver usando algo diferente da ATI, procure a chave no registro DMMEnableDDCPolling e defina o valor como zero. NOTA: A CHAVE PODE EXISTIR EM MAIS DE UM LUGAR. Pelo que li, você deve substituir o valor por 0 para cada instância dessa chave.

Fonte .

Tyler
fonte
0

Caso alguém encontre isso, adicionarei minha "correção". Descobri que o Windows 8.1 redimensionava todas as minhas janelas / programas e tal quando as colocava na TV. (Conectado ao meu laptop por meio de uma porta HDMI.) Eu tive que acessar o menu de resolução da tela, escolher "Aumentar ou diminuir o tamanho de texto e outros itens", escolher "Escolha um tamanho para todos os monitores" e depois deixá-los permanecer em 100%. FEITO!

Stefan Ejegod
fonte
0

Eu tive um problema semelhante desde a atualização de uma máquina Windows 10 para TH2 em novembro de 2016.

Devido aos vários efeitos colaterais que um ciclo de energia da TV estava causando nos meus aplicativos e na área de trabalho, acabei percebendo que desligar e ligar a TV fazia com que o Windows 10 provocasse uma alteração na resolução e / ou no tamanho da fonte / DPI.

Após algumas pesquisas, forcei o mesmo DPI para todos os meus monitores, virtuais e físicos, fazendo o seguinte:

  • Entre Control Panel\Appearance and Personalization\Display.
  • Clique em set custom scaling level.
  • Defina-o para o que funcionar melhor para você. 100% estava funcionando bem para mim.

Aqui está um link sobre como ajustar a escala.

Slion
fonte
0

Eu tive esse problema com um computador indo para a proteção de tela. Quando recomeçou, minhas janelas estavam redimensionadas. Eu o resolvi mudando para outro protetor de tela e depois voltando ao protetor de tela "apresentação de slides de fotos".

Austin M.
fonte
Por favor, leia a pergunta novamente com atenção. Sua resposta não responde à pergunta original, que consiste em alternar as entradas do monitor e não os protetores de tela.
DavidPostill
0

Consegui interromper essa alteração de resolução entrando no centro de controle de catalisadores e ativando a emulação de força edid. Fixo!! Claro que você precisa de uma placa AMD e esse recurso precisa estar presente, mas acho que a NVIDIA também deve ter algo assim.

VmroFan1
fonte
0

Esta é uma pergunta super antiga, mas na verdade tenho uma correção muito simples para os usuários do Windows 10 (pode funcionar para 7 e 8, não tenho certeza).

Eu queria especificamente que minhas janelas se lembrassem de suas posições e estava usando um KVM para alternar entre dois computadores, mas sempre que eu voltava, todas as janelas voltavam para o monitor principal.

Descobri que se você clicar na pequena faixa "Minimizar todas as janelas" no canto inferior direito, na barra de tarefas, antes de fazer a troca, quando voltar, basta clicar novamente e as janelas retornarão às suas posições anteriores.

Ecksters
fonte