Unplug/Replugしてみたらどうなる

これまでのDisplayPortチャレンジ

Unplug/Replug

GPUでモニターの電源オフ>オン時の動作が心もとないので、一瞬モニターデバイスが外れてでも画面が出るのであれば、Replug信号を流す方がいいのではないか?なんて考えてしまったもので、タイプBのHPD SRCを考えてみようと思います。




シングルモニターで画面が出ない…

IntelのオンボGPU HD 4600で、Unplug/Replugの時間を3msにしてテストです。
まずシングルモニターから…と何度やっても、モニタースリープから抜け出せそうもないです。
前記事に書いた通り、この状態で放置しておくとモニターからHPD_IRQ_PULSEを送信しまくり状態になったりします。この段階で画面を見たいからと言って、サブモニターをオンラインにするとさらに状況が悪化します。すでにOSの反応が悪い(電源ボタンのPowerOFFに反応しない)ですし、それより映像がすでに出ません。DP側のモニターを電源オフして、放置して運良く(5分ぐらい)数分で画面が復活して、ProcessExpを見てみると、割り込みされまくってCPUの使用率が跳ね上がっていました。


デュアルモニターで、汎用 非PnP モニターが出てきた


なんか小さいデスクトップが出てきました…
しかし、これは皆さんが陥っているウインドウが小さくなるという現象のデスクトップと同じなんですかね…

戻して欲しいのは、このデスクトップ画面じゃないのです。一体どれぐらい待てば元のデスクトップにしてくれるんだとインターバルを増やしていきました。300ms・500msも変わらず、1000msにすると理想の動きにはなりました。早すぎると誤動作するようですね。

余談
ところで本来のモニターの電源オフ>オンでアプリケーションのウインドウが小さくなるという現象。自分の環境では再現できないのですが、勝手に偽モニターが出現するのは、Unplugした瞬間に出てくるのか、少し時間が経つと出てくるのか、モニターが再度オンになった時に出てくるのか、どれなんでしょうか。


結論: Replug以前にUnplugができない

どう考えても、タイプBは失敗です。

まず、IntelオンボGPU以前に、結局Unplugするとサブモニターにデスクトップが集約されるので、サブモニターがXGAとか、メインより小さい解像度だとウインドウサイズが小さくなってしまうわけで、そもそも問題は解決しないじゃないかと。

アプリケーションのウインドウが小さくなるという現象を自ら手動で引き起こした実験だっただけでした。もっと早く気づきたいものです。