Как остановить изменение размеров окон, когда канал дисплея монитора выключен / переключен на другой источник


44

У меня есть новый адаптер 6870 Amd Radeon с драйверами, настроенными на разрешение 1080p 60 Гц, подключенный к 47-дюймовому телевизору Samsung HDMI высокого класса 2008 года.

Однако, когда телевизор переключается на другой вход HDMI - (когда я возвращаюсь в Windows), Windows каким-то образом решает изменить размеры всех открытых приложений до более низкого разрешения - включая некоторые скрытые боковые всплывающие окна. Когда он изменяет их размер - он просто прикрепляет всплывающие окна в середине экрана и все окна с измененными размерами из открытых приложений в левом верхнем углу - все они накладываются друг на друга и уменьшаются до меньшего разрешения.

Похоже, что все в порядке после возвращения, это значки на рабочем столе, панели задач и боковой панели.

Любой знает, что: 1) как это происходит 2) почему это происходит 3) как предотвратить изменение размера приложений и некоторых закрепленных всплывающих окон (они не меняются после возвращения - они просто застряли в середине экран примерно там, где он был бы, если правая или нижняя боковая панель должна быть, если экран был изменен до этого более низкого разрешения).

Моя гипотеза состоит в том, что при потере сигнала HDMI - что Windows что-то говорит (драйвер или сами окна), что разрешение должно быть без присутствия сигнала (отмечая, что сигналы HDMI и рукопожатия являются двухсторонними на устройствах HDMI. Если он теряет сигнал или телевизор переключается на другое устройство - тогда адаптер дисплея должен выяснить это и сообщить Windows или выяснить это и разработает случайным образом для изменения размера дисплея).

Любая помощь очень ценится. Я спросил AMD / ATI - но они сказали, что не знают, почему и как это происходит. Я надеялся, что, возможно, это действительно то место, куда действительно приходят супер пользователи - те, кто разрабатывает драйверы видеоадаптера или которые глубоко погружаются в эти области окон. Если есть более качественные сайты или просто конкурирующие сайты - пожалуйста, сообщите - отметив, что я уже написал AMD / ATI.

Ответ / Дополнения от 4/7/2011

Это действительно приятно получить ответ, Шинрай. (Кстати, правильно ли вести эти дискуссии на этих форумах?) И все же «только одна проблема» - в данном случае я использую один дисплей - поэтому Windows не перемещает окна приложений на другой рабочий стол. Windows (или что-то еще) решает уменьшить размер рабочего стола и изменить размер всех окон до максимального размера рабочего стола. Поэтому я был бы рад, если бы Windows просто сохранила текущий размер одного рабочего стола, который работает.

Я также знаю, что это НЕ происходит на мониторах, связанных с DVI. Там у меня был настроен один и два монитора, и он не изменяет размеры этих экранов вообще при отключении мониторов, выключении их, что угодно ... они остаются твердыми - все на месте - до такой степени, что если вы забудете другой монитор выключен - у вас будут проблемы с поиском некоторых окон без использования одной из утилит управляющего приложения.

Так что, если бы я мог даже получить обработку HDMI в Windows (или в драйвере дисплея) (1), который все равно делает это драйвером дисплея или Windows - и 2], откуда взялся этот другой размер разрешения (1024x768) - это не самое маленькое и это не самое большое?) иметь как DVI - Жизнь была бы золотой (для этого аспекта в любом случае).

** нашел других с такой же проблемой в этой теме: http://hardforum.com/showthread.php?t=1507324


Я никогда не видел ваш ответ до сегодняшнего дня. Вы должны были оставить комментарий к моему ответу, а не редактировать свой вопрос, который является плохой формой и не уведомляет меня. Тем не менее, проблема все еще аппаратная, так что если вы не купите другой монитор или не добавите что-то, чтобы подделать сигнал, вам, вероятно, не повезло.
Shinrai

Ответы:


25

Я два дня копался в этой проблеме и нашел несколько типов решений:

  1. Универсальное решение, программная программа PersistentWindows , которая сохраняет положение всех окон и контролирует отображение. Если разрешение изменяется и возвращается обратно, то оно восстанавливает те же размеры и позиции! Именно то, что я хотел. Последняя версия просто делает свое дело, и молча сидит в systray. Ссылка

  2. Для некоторых пользователей ATI работают, для некоторых нет, есть подтверждения, что это работает. Решение - использовать взлом реестра с ключом DMMEnableDDCPolling, чтобы вообще отключить опрос подключения монитора под Windows. Предостережение заключается в том, что вам нужно перезагрузить систему после изменения, и в случае, если вам нужно просто быстро подключить какой-то внешний экран, это не удобно. Ссылка

  3. К счастью, владельцы карт NVIDIA. Решение состоит в том, чтобы жестко закодировать информацию EDID монитора в файл драйверов VGA, и, таким образом, система считает, что это не изменится. Ссылка

  4. Аппаратное решение для подключения HDMI, они продают свои адаптеры через Интернет, а также eBay. Ссылка

  5. Еще одна утилита Windows Layout Manager для сохранения раскладок и восстановления их по требованию (управление различными раскладками). Гораздо сложнее и мощнее, но может быть излишним для домашнего пользователя. Ссылка

Я придерживаюсь # 1 на некоторое время (уже с 2015 года :)), и если найду больше, то поделюсь.


1
Я получил отзыв от нескольких других и с тех пор превратил его в приложение Systray. Спасибо за ссылку и наслаждайтесь!
Мин

Вариант 1 работал для моего 4k Seiki SE39UY04.
DharmaTurtle

Для счастливых обладателей карт NVIDIA - проверьте, это мне очень помогло !!! :) sites.google.com/site/ebobster/stuff/displayportblanking
maycca

Я отправил вам запрос на извлечение, @Min, после добавления ссылки на пакет в файл конфигурации, в противном случае NuGet потерпит неудачу. Если вы согласитесь, я вышлю вам новый с добавленной опцией «запускать с Windows».
Том

Моя проблема заключалась в том, что после изменения разрешения положение значков на рабочем столе менялось. Я решил решить эту проблему, создав очень легкий сервис, который сохраняет / восстанавливает значки на рабочем столе после автоматического изменения разрешения. Проверьте это: github.com/TomONeill/persistentdesktopicons
Том

9

У меня была эта проблема с моим Radeon R9, все, что я сделал, это отключил выгрузку графического процессора на AMD Catalyst.

Но по какой-то причине все еще происходит, сначала сделайте резервную копию вашего реестра! Затем откройте реестр Windows и перейдите к:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration

Только под ключами «SIMULATED» измените десятичные значения ключей на:

PrimSurfSize.cx = 1920
PrimSurfSize.cy = 1080

Под "00":

ActiveSize.cx = 1920
ActiveSize.cy = 1080

Измените на любое разрешение, которое вы используете. Это предотвратит сжатие или перемещение вашего окна с одной стороны на другую при выключении монитора.


Это останавливает изменение размеров окон, но, к сожалению, для меня это не останавливает их перемещение в угол.
Том Карпентер

Спасибо, это исправило это для меня! Перезагрузка не требуется; окна не смещаются в угол. У меня есть 2 внешних монитора HDMI, и проблема возникла, если я просто отсоединяю и снова разблокирую, не открывая крышку (среди других случаев). Ясно, что система отображения периодически переключалась между дисплеями с разрешением 1024x768. Конечно, окна переносятся на основной дисплей, что понятно. Это ноутбук Dell с Intel HD Graphics 520.
Джефф Лирман

Интересный. Кажется, что максимальное симулированное разрешение составляет 1600x1200 на Win 7. Или, по крайней мере, если я пытаюсь установить ключи на что-то большее, кажется, что они игнорируются. Так что для монитора UHD это довольно раздражает
Том Карпентер

3

Ваша догадка верна; монитор по существу отключает рукопожатие на этом канале HDMI при переключении входа. Windows 7 видит это как «Монитор больше не подключен», и в этот момент вывод отключается. Так как этот экран больше не существует, все, что было на нем, должно идти ГДЕ-ТО, поэтому оно перетасовывает все на ваши оставшиеся дисплеи, и это не изящно. Когда дисплей вернется, Windows 7 запомнит, как у вас все было устроено, но вы не будете перетасовывать свои окна назад (вы, возможно, закрыли или открыли или переместили их тем временем!)

Вы ничего не можете сделать с драйверами дисплея, которые могут это исправить; это поведение операционной системы, и хотя это неудобно для вашей ситуации, это имеет смысл. (Альтернатива состоит в том, чтобы на мониторах не существовало вещей, которых на самом деле не было, что иногда делала XP, и позвольте мне сказать вам, что это был кошмар.) Может быть какое-то стороннее программное обеспечение, которое может заставить это не происходить, но я этого не делаю Я знаю, что вы рискуете вызвать другие проблемы. (Если кто-то может на самом деле опубликовать любой, я буду рад, чтобы ответить на эти вопросы.)


У меня аналогичная настройка, когда мой ноутбук подключен через HDMI к телевизору Sony. Однако, когда я переключаю входы или даже выключаю телевизор, по возвращении на вход ноутбука все происходит именно так, как я его оставил. Окна остаются развернутыми и покрывают весь рабочий стол, гаджеты на боковой панели остаются прежними, а значки на рабочем столе находятся там, где я их оставил. Это заставляет меня думать, что проблема не в Windows, а в том, как она настроена («железо» или «драйверы»), или что-то забавное в том, как ТВ-рукопожатия работают по HDMI.
Коннор W

Кроме того, графическая карта в моем ноутбуке является картой ATI (ATI Radeon HD 4530), поэтому она использует то же самое программное обеспечение «ATI Catlyst Control Center» (в частности, версия 2010.0706.2128.36662 для справки), которое, как я думаю, используется для карты. обсуждаемый.
Коннор W

@ Коннор W - Это в основном то, что я сказал. Мониторы в этом случае заставляют Windows думать, что они отключены, и когда это происходит, все перемешивается. Очевидно, что ваш телевизор не делает то же самое, но это не вина Windows (как я утверждаю здесь).
Shinrai

3

Не требуется дополнительное оборудование

  1. Установите TeamViewer или Chrome Remote Desktop на компьютер с проблемой и включите удаленные подключения.
  2. Выключите телевизор / монитор.
  3. Разрешение меняется само по себе .
  4. Войдите в компьютер удаленно, используя программное обеспечение, начиная с шага 1. Как указано в вопросе, разрешение изменилось.
  5. Увеличьте разрешение до нормального (как при включенном телевизоре / мониторе) с помощью удаленного подключения.
  6. Разрешение больше не будет переключаться при выключении телевизора / монитора.

Я не думал об этом, и я думаю, что это очень умное решение. Я проверил, работает ли это для меня, но я заметил, что мое разрешение меняется, когда я включаю телевизор вместо того, чтобы выключать его. Он быстро возвращается к исходному разрешению, слишком быстро, чтобы изменить его за тот короткий промежуток времени, когда меняется разрешение.
Том

@ Может, попробует отключить телевизор?
Висмут

2

Ваша проблема звучит как вариант описанной здесь , которая также вызвана потерей рукопожатия HDMI. Для вас может подойти то же аппаратное решение: поместите мини-коммутатор Apogee 3x1 HDMI между ПК и телевизором, и компьютер будет думать, что он не отключен. Я не знаю, будет ли работать какой-либо HDMI-переключатель или только Apogee, рекомендованный по вышеуказанной ссылке.


2

После нескольких месяцев разочарований и, наконец, нахождения этой темы, я нашел обходной путь, который, кажется, подходит для моей единственной настройки дисплея (Windows 7 x64 + 24 "Insignia TV). Это обобщение решения Дэвида М. со следующими преимуществами :

  • Переходник HDMI / DVI не требуется
  • Можно использовать кабель VGA вместо кабеля DVI + адаптер
  • Сохраняйте аудиовыход HDMI (жизненно важно для моего телевизора, который поддерживает только линейный аудиовход для своего размытого аналогового входа VGA)

Тем не менее, на телевизоре требуется свободный вход VGA (ПК), и для настройки используются два кабеля:

  1. Подключите ПК к телевизору с помощью кабеля HDMI
  2. Также подключите ПК к телевизору с помощью кабеля VGA
  3. Панель управления> Дисплей> Несколько дисплеев> Дублируйте эти дисплеи

Кроме того, кабель DVI + переходник DVI / HDMI на шаге 2 также работает; ключевым наблюдением был Дэвид М., указывающий, что DVI работает нормально.

Теперь, когда я включаю или меняю источники входного сигнала на моем телевизоре, окна не сжимаются и не складываются в верхнем левом углу. Не уверен, что все это сработало только потому, что мой телевизор такой дешевый ...


2

Проблема вызвана раздражающей «функцией» Windows 7/8 для переупорядочивания окон приложений, когда монитор / телевизор, подключенный к порту HDMI / порту, «выключен» или «переключен» на другой вход.

Существует аппаратное решение, если вы используете соединение HDMI. Ищите на ebay «обнаружение монитора» и получите около 20 долларов. У меня это работает на Seiki 39 "4K TV с подключением HDMI.


1

У меня была такая же проблема на моем 42-дюймовом телевизоре LG. После прочтения постов о подделке сигнала в Windows я подумал о чем-то. У меня был дополнительный адаптер DVI-HDMI, который я больше не использовал. Подключил его к порту DVI на моем видеокарта, а затем HDMI в это, и больше не возникает проблема изменения размеров окон и еще много чего. Так что это было действительно легко исправить. Вы можете получить их в RadioShack или почти в любом магазине электроники. Я рад, что я разобрались с этим. Надеюсь, это работает для других.


1

Исследуя ту же проблему, я обнаружил эту ветку, утверждая, что ее можно исправить, покопавшись в реестре. Я также нашел тему от парня, который заявил, что это результат использования DisplayPort.

Я попытался исправить реестр, и он, похоже, не работал (хотя я не перезагружался, если это имеет значение). Кроме того, мое некорректно работающее устройство подключено к порту отображения на моей видеокарте через порт DVI на моем мониторе, и, к сожалению, я не могу подтвердить вторую учетную запись, поскольку у меня нет подходящих адаптеров. Но я подумал, что это может быть полезно.

Edit: хорошо, я пришел в отчаяние и фактически поехал, чтобы одолжить кабель для этой попытки. Переход от кабеля DVI-I с переходным кабелем DVI / DisplayPort к однокабельному кабелю DVI-I / HDMI исправил это для меня. Для меня это говорит либо о том, что это действительно проблема с DisplayPort, как предположил парень из HardForum, либо о побочном эффекте использования кабельных адаптеров. В любом случае, с этим порадоваться.


1

Не исправление, а обходной путь. Я заметил, что если свернуть окна до отключения дисплея и не восстанавливать их до тех пор, пока дисплей не вернется, то окна не переставляются.

Я использую этот факт для обеспечения «беспроблемного» опыта для себя, как я задокументировала здесь: http://thelamprechts.blogspot.com/2014/09/a-windows-workaround-to-maintain-window.html


0

Если вы используете ATI, вам нужно будет создать новый ключ в реестре под HKEY_LOCAL_MACHINE > Systemназванием DMMEnableDDCPolling. Установите значение на 0. Он отключает опрос видеокарты, чтобы увидеть, подключено ли что-то в принципе.

Если вы используете что-то другое, чем ATI, найдите в реестре ключ DMMEnableDDCPollingи установите значение в ноль. ПРИМЕЧАНИЕ: ключ может существовать больше, чем в одном месте. Из того, что я прочитал, вы должны заменить значение 0 для каждого экземпляра этого ключа.

Источник .


0

В случае, если кто-то еще столкнется с этим, я просто добавлю свое "исправление". Я обнаружил, что Windows 8.1 изменил размеры всех моих окон / программ и тому подобное, когда я положил их на свой телевизор. (Подключен к моему ноутбуку через порт HDMI.) Мне пришлось получить доступ к меню разрешения экрана, выбрать «Сделать текст и другие элементы больше или меньше», выбрать «Ладно, я выберу один размер для всех мониторов», а затем оставить их на 100%. СДЕЛАННЫЙ!


0

У меня была похожая проблема с момента обновления машины с Windows 10 до TH2 в ноябре 2016 года.

Из-за различных побочных эффектов, которые происходили с циклом включения телевизора на моих приложениях и на рабочем столе, я в конце концов осознал, что при выключении и включении телевизора Windows 10 вызывает изменение разрешения и / или размера шрифта / DPI.

После некоторых исследований я установил один и тот же DPI для всех моих дисплеев, виртуальных и физических, выполнив следующие действия:

  • Войдите Control Panel\Appearance and Personalization\Display.
  • Нажмите на set custom scaling level.
  • Установите это на то, что работает для вас. 100% работал нормально для меня.

Вот ссылка о том, как настроить масштабирование.


0

У меня была эта проблема с компьютером, идущим на заставку. Когда это возобновилось, мои окна были изменены. Я решил эту проблему, переключившись на другую заставку, а затем снова вернувшись к заставке «Слайд-шоу фотографий».


Пожалуйста, внимательно прочитайте вопрос. Ваш ответ не отвечает на первоначальный вопрос, касающийся переключения входов монитора, а не заставок.
DavidPostill

0

Я смог остановить это изменение разрешения, зайдя в центр управления катализатором и включив принудительную эмуляцию edid. Исправлена!! Конечно, вам нужна карта AMD, и эта функция должна присутствовать, но я думаю, что у NVIDIA должно быть что-то подобное.


0

Это очень старый вопрос, но на самом деле у меня есть действительно простое исправление для пользователей Windows 10 (оно может работать для 7 и 8, не уверен).

Я специально хотел, чтобы мои окна запомнили свое положение, и использовал KVM для переключения между двумя компьютерами, но всякий раз, когда я переключался назад, все окна возвращались к основному монитору.

Я обнаружил, что если вы нажмете на маленькую полоску «Свернуть все окна» в правом нижнем углу на панели задач, прежде чем переключаться, при возвращении вы можете просто щелкнуть по нему еще раз, и окна вернутся на свои прежние позиции.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.