При выходе из спящего режима Windows перебрасывает все окна на один монитор

в 8:16, , рубрики: displayport, Windows перебрасывает окна, два монитора, несколько мониторов, перетаскивает окна, три монитора

Я не буду описывать саму проблему — она отражена в названии статьи. И эта тема уже обсуждалась, вот онa.

Однако, с тех пор прошло уже 6 лет, а воз и ныне там. Как и отмечалось, стопроцентного решения проблемы действительно не существует: кому‑то помогает обновление драйверов, кто‑то и вовсе отключает из‑за этого спящий режим, а у кого‑то хватает смелости физически перерубить сигнал HotPlugDetect (а его, судя по написанному, нужно не просто перерубить, а еще и подтянуть к логической единице). Предлагаются и более радикальные методы — от навесных адаптеров, блокирующих вышеуказанных сигнал, до встраивания в монитор микроконтроллера, позволяющего отключать и включать его «с умом».

Лично я бы на внесение изменений в монитор не решился, ибо прекрасно знаю, что после моих «изменений» он работать уже точно не будет 😊.

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

Сначала я перепробовал все предложенные в вышеупомянутой статье и комментариях к ней методы: обновлял драйвера, менял ключи реестра, ставил пробные версии программ‑менеджеров управления несколькими мониторами. Ничего не помогло. Судя по всему, никому и в голову не приходило добавить такую функцию, чтобы менеджер управления мониторами возвращал окна на их прежнее место. Видно потому, что данная проблема встречается, в общем‑то, не часто.

И вот что мне удалось обнаружить, играясь со входом‑выходом из спящего режима.

  1. Windows начинает перебрасывать окна далеко не сразу по выходе из спящего режима. Сначала он пытается обнаружить подключенные мониторы. И лишь примерно через через 10 секунд, если какой‑то монитор не обнаружен, он сначала кидает все окна на опознанный монитор, а потом, когда обнаруживает второй, перебрасывает всё на него.

  2. При загрузке системы сначала Windows активирует DisplayPort, потом HDMI, потом VGA. Причем задержка между активацией DisplayPort и остальных весьма существенная.

  3. Пункты 1–2 дают ответ на вопрос, почему проблема проявляет себя далеко не у всех. Дело в том, что разные мониторы обладают разной «тормознутостью». И вы с ней можете столкнуться, если более «шустрый» (по времени включения) монитор подключен к DisplayPort.

Чтобы убедиться в этом, введите искусственно компьютер в спящий режим (из меню Пуск или установив время входа через 1 минуту бездействия) и, как только он уснет, попробуйте физически отключить монитор, подключенный к DisplayPort. Иногда для этого достаточно просто нажать кнопку выключения, но можно и выдернуть кабель питания для верности. Выводя компьютер из спящего режима, пробуйте включать этот монитор с определенной задержкой. В моей конфигурации приемлемым временем оказались 6–10 секунд, и перефутболивание окон закончилось. Бывало даже, что он вроде как и сбросит окна на один монитор, но тут же восстанавливает все как было до засыпания, в той же последовательности и с теми же установками масштаба и выделенных фрагментов графических окон.

В моем случае решение проблемы оказалось простым — достаточно было поменять подключение мониторов местами: более тормозной 4K подключил к DisplayPort, а более шустрый (тоже 4K) к HDMI. Понимаю, что кому‑то это не поможет. Но поскольку ждать от виндоуса, что они‑таки сделают время обнаружения мониторов настраеваемым, или, еще лучше, встроят в реестр запоминание времени обнаружения мониторов в конкретной данной конфигурации при прежнем выходе из спящего режима не приходится, ищите решение исходя из конкретного вашего случая и написанного здесь.

Приемлемым вариантом может оказаться даже выключать‑включать DisplayPort монитор перед выходом из сна физически: всё ж лучше, чем после этого каждый раз перетаскивать обратно все окна, да еще и меняя их размеры, если мониторы у вас разного разрешения или один из них расположен вертикально. Если компьютер рабочий, то может удастся и попросить администратора поэкспериментировать с заменой мониторов HDMI и Display Port. Если домашний, то можно и вовсе спаять релейную схему подачи питания на монитор с задержкой, купив предварительно переходник питания SATA-2SATA и воспользовавшись тем, что питание дисков в спящем режиме отключается. Или взять, скажем, питание с одного из разъемов вентиляторов на материнке, которое тоже будет отключаться на время сна. И все же вначале поэкспериментируйте с включением мониторов вручную.

Автор: NikolayO

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js