高DPIのノートPCに、23型FullHDディスプレイを接続して使おうと思ってます。
OSはWindows10 1709です。
Windows8.1よりモニタ別のDPI設定ができるようになりましたが、1703(CreatorsUpdate)以降はDPIスケーリングのユーザ側で選択できるメニューが増えたようです。
実際、exeの互換性タブを見ると、それまでは「高 DPI 設定では画面のスケーリングを無効にする」だけでした。
1703以降では、「アプリケーション」「システム」「システム(拡張)」が選択できるようになっています。
それぞれの内容は以下のとおりだそうです。
- アプリケーション:DPIスケーリングをアプリケーションに任せる。今までの「高DPI設定では画面のスケーリングを無効にする」と同様。
- システム:DPIスケーリングをOSに任せる。
- システム(拡張):OSに任せるけど、フォントをぼやけずくっきり見せようと頑張る。
DPIに関してはアプリケーションの対応が書かせません。アプリのDPI対応は次の3つとなるようです。
- Unaware:DPIスケーリング非対応。DPI100%以外はぼやけまくり。
- System Aware:DPIスケーリング対応だけど、DPIが異なるマルチディスプレイだと問題。
- Per-Moniter Aware:DPIスケーリング対応かつ、DPIが異なるマルチディスプレイ環境でもOK。
ブラウザとか愛用のEmEditorとかはPer-Moniter Awareになってるので、高DPI/通常DPIマルチディスプレイ環境で全然問題ないのですが、結構そうでないアプリが多いです。 例えばLibreOfficeなんかはこんな感じになりました。
通常DPIのサブディスプレイ表示
ぼやけてます。
高DPIのメインディスプレイ表示
高DPI側はくっきり映ってますね。
互換性タブで3つのモードを試してみましたが、しっくり来るのがありません。
片方のディスプレイでちょうどいいと思って、もう片方のディスプレイに移動させるとぼやけが発生します。
結局アプリ側がPer-Moniter Aware対応してくれないと完璧にはならないということですな。
社内用に.NET3.5で作成したツールが有るんですが、そのまま起動するとメインディスプレイでぼやけた感じがします。
互換性タブでDPIスケーリングを[アプリケーション]にするとくっきりドットバイドットっぽく表示されるのですが、通常DPIモニタに移動するとウィンドウ内すべてが大きく表示されます。(メインディスプレイのDPIが125%なので、移動した先でも1.25倍の大きさになってるっぽい)
ちなみに、MMC.exeはUnawareらしいですが、デフォルトで [システム(拡張)]のDPIスケーリングになっているようです。
さて、Windowsエクスプローラは、Per-Moniter Awareになっており、マルチディスプレイ環境でもOKだと思っていたのですが、こんな現象が。。。
通常DPIディスプレイに移動すると明らかにぼやけるわけです。
ググっても情報がありません。
おかしいなーと思いいろいろ調査していると、フォルダオプションで[別のプロセスでフォルダーウィンドウを開く]のチェックを外すと、ちゃんとスケーリングされてぼやけなくなりました。
結構マイナーだと思うので、ハマっている人がいれば参考に。。。。
高解像度ディスプレイに触れる機会がなかったので、DPIスケーリングについては全然知りませんでした。。。
参考:
窓の杜:ユーザーインターフェイスは使い勝手が向上、その他にも注目すべき機能改善が
窓の杜:古いアプリのフォントもくっきりキレイに! スケーリングを調整する
マルチディスプレイの一部ディスプレイにてソフトウェア画面が、ぼやけて表示されてしまう理由
ACII:Windowsと高DPIディスプレイ【その2】 8.1では異なるDPIを設定可
ACII:Windows 10+高解像度ディスプレイでのアプリのボケはRS2で解消される【その2】
高解像度ノートパソコン買おうとしているやつちょっと待て。WindowsのDPIスケーリングは糞だぞ。