103

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

Изменить: Вот видеокарта, которую я использую -> SAPPHIRE FleX 100322FLEX Radeon HD 6450

10 ответов10

41

Это старый вопрос, но если кто-то прибывает сюда с той же проблемой, я предлагаю попробовать решение, размещенное здесь:

http://answers.microsoft.com/en-us/windows/forum/windows_7-hardware/windows-7-movesresizes-windows-on-monitor-power/1653aafb-848b-464a-8c69-1a68fbd106aa

Я использую Windows 8.1 с двумя дисплеями 2560x1440 на DisplayPort. Когда я просыпался ото сна, все мои окна были сдвинуты на один экран, а некоторые из них были изменены. Это решает проблему для меня; теперь все мои положения и размеры окон сохранены. Вот соответствующее содержание ссылки:

Я нашел обходной путь. Используя Sysinternals ProcessMonitor, я обнаружил, что Windows получает доступ к следующему пути реестра; HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\ Конфигурация

В моей системе было три записи; DELF003YY7707BR0MUL_30_07D7_6A ^ 9A3774EB79DEE3E3E38496CC7DF4D936 QHD32000001_31_07D6_D5 ^ 63E1ABDD175E7871DCAEB710418A0F75 SIMULATED_8086_2A42_00000000_00020000_1010100 ^ CDE365D1B3F0942F0CF38BFB8E127AB4

Под каждым находится дерево, называемое "00", два ключа
PrimSurfSize.cx
PrimSurfSize.cy

Под "00" была другая ветвь, также называемая "00", два ключа;
ActiveSize.cx
ActiveSize.cy

Первые два из конфигов (т.е. DELF00 ... & QHD3 ...) вышеупомянутых ключей были 1440x900, поэтому они не были задействованы.

Третий (SIMULATED ...) был установлен на 1024x768.

Я изменил их на 1600x900, и проблема была решена.

Далее я изменил разрешение (через панель управления) на 1920x1080, проблема с перемещением / изменением размера вернулась, но в нижнем правом углу было установлено значение 1600x900, т.е. настройки SIMULATED ....

Так что по какой-то причине один из конфигов не установлен правильно.

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

31

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

  • «Отключайте» мониторы, когда вы переводите компьютер в спящий режим, поэтому, когда Windows просыпается, она должна заново определить, где все разместить.
  • Каждый раз, когда вы выводите компьютер из спящего режима, распознавание мониторов происходит в другом порядке, что заставляет Windows переставлять окна приложений.

Проверьте, есть ли обновление вашего графического драйвера, зайдя на сайт производителя чипсета.

11

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

Вот скриншот.

8

Я думаю, что нашел решение этой проблемы, объединив идеи из этих постов.

(мой компьютер - Windows 10 TH2, Intel HD4600 с портом HDMI, монитор Changhong 4k)

Вот процедура.

  1. Удалить все дополнительные записи реестра в ...GraphicDrivers\Configuration и GraphicDrivers\Connectivity, оставляя только запись, соответствующую моему монитору (MST00301 ...)

  2. Перед переводом монитора в спящий режим просто нажмите комбинированную клавишу "WIN" + "D", чтобы свернуть все окна рабочего стола.

  3. После включения монитора снова наберите "WIN" + "D", чтобы восстановить все окна.

2

В моем случае с тремя мониторами 1920x1080, расположенными горизонтально, похоже, что это было исправлено путем перехода к разделу реестра, указанному в других ответах (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration), поиску ключа, начинающегося с SIMULATED , а затем изменяющегося все значения 1920 года под этим ключом до 5760 (1920 раз три, для трех мониторов).

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

2

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

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

Если проблема все еще не решена после обновления драйверов, это может быть связано с необычно отображаемым идентификатором дисплея (EDID). Обычно вы можете принудительно обнаружить монитор на панели управления графического драйвера.

Однако, если это недоступно, вы можете использовать окно «Разрешение Windows» для обнаружения устройств, когда монитор отключен, затем выберите дисплей, на котором будет отображаться сообщение «Другой дисплей не подключен», затем в разделе «Несколько дисплеев» вы можете раскрыться и выбрать «Попробуйте подключиться в любом случае », который будет транслировать сигнал на монитор через выбранный вами тип порта (сигнал не будет интерактивным), затем подключите дисплей, который должен правильно интерпретировать отправленные ему сигналы.

Принудительное разрешение отменяет обнаружение экрана и должно сохраняться в течение сна.

2

Та же проблема здесь с Windows 8.1 и Macbook Air 2013 (Intel HD Graphics 5000). Я стараюсь все. Наконец, я пошел в Intel с обновленными драйверами для моей видеокарты, и проблема не исчезла. Затем я перешел к свойству graphics: при включении второго дисплея в режиме Multiple Display я выбираю «Отключить этот дисплей», затем после отключения второго дисплея я выбираю «Расширить рабочий стол», и проблема исчезает. Надеюсь, что это работает для вас.

1

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

1

Для меня исправление было https://superuser.com/a/908156/238666 . Сводка: Windows не может прочитать информацию EDID с монитора при включении, и в панели управления Nvidia вы можете сохранить информацию EDID в файл и настроить компьютер для чтения этой информации из этого файла в разделе «Задача: рабочая станция, просмотр системы». Топология, источник EDID.

На мой ограниченный взгляд, проблема может быть связана с картой Nvidia, но также с Windows, DisplayPort или монитором (Lenovo X1 4K)

-1

Как ни крути, но в соответствии с известной проблемой Dell с конкретными 4k мониторами ссылка:http://www.dell.com/support/Article/us/en/19/SLN295708/EN Мне пришлось переключиться с 59/60 Гц на 30 Гц на моем 3 x Dell P2415Q 4K UHD на Intel 4600, подключенном к стандартному DP/mDP дисплея, и это мне помогло - как говорится в статье Dell KB. Это относится и к UP3214Q и P2715Q.

Проблема не проявляется на более низком разрешении QHD Dell U2515H + то же видео / ПК

Удаление ключей реестра и обновление драйверов не помогали.

Upd 2018/08: И обновление видеокарты до NVIDIA Quadro P600 не решило проблему, поэтому оставалось на частоте 30 Гц.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .