описание проблемы
Я использую следующую настройку:
- nVidia GeForce GTX 680
- Dell UP3214Q (Ultra-HD, 3840x2160, работает в собственном разрешении, подключен через DisplayPort 1.2, то есть DisplayPort на GTX -> mini-DisplayPort на мониторе, настройка в качестве основного)
- Dell 3008WFP (2560x1600, работает в собственном разрешении, подключен через DVI-D, настроен как дополнительный)
- Windows 8.1 Pro x64
- Последние версии драйверов nVidia и мониторов
Возникает следующая проблема: даже при пробуждении только из режима ожидания все ранее запущенные приложения переносятся на основной монитор.
Собственное исследование проблемы
Исходя из настройки с двумя мониторами с использованием двух подключений DVI-D к одной и той же графической карте, которая не показала ошибочную перестановку окон, я полагаю, что текущее поведение с новой настройкой может быть результатом обработки nPidia GTX 680 DisplayPort и DVI-D как-то иначе, что может заставить Windows 8.1 "забыть" вторичку хотя бы на мгновение.
Дальнейшие исследования
Я обнаружил эту коллекцию слайдов на DisplayPort от VESA, из которой я сделал вывод, что UltraHD может не обеспечивать (правильный) сигнал на выводе Hot-Plug-Detect при программном отключении или в процессе "пробуждения" из режима ожидания в то время как 3008WFP, кажется, предоставляет этот сигнал на DVI-D аналог. Таким образом, мой UltraHD не обнаруживается вовремя, что приводит к тому, что все приложения сначала переносятся на 3008WFP, и когда UltraHD наконец сообщает о своем присутствии, все окна возвращаются к нему, поскольку он является основным. :|
Вопросы
- Как мне установить окна на соответствующих мониторах после выхода из режима ожидания, когда я их оставлял, прежде чем перейти в режим ожидания?
- Будет ли возможность подделать сигнал Hot-Plug-Detect на UltraHD без потери возможности прерывания (см. Стр. 21 здесь)?