Windows 8.1 から、液晶ディスプレイごとに Windows の DPI を設定できるようになった
複数の液晶ディスプレイでマルチディスプレイを構築した場合、Windows 8.1 が登場する前までは、それぞれの液晶ディスプレイごとに Windows の DPI を設定できませんでしたが、Windows 8.1 からは設定できるようになりました。ここで言う Windows の DPI は、液晶ディスプレイの DPI とは異なります。DPI は、Dot Per Inch の略で、1インチ当たりのドット数を表しますが、液晶ディスプレイの DPI は製品によっては異なります。
Windows の DPI は、画面出力する液晶ディスプレイの DPI に合わせて設定できる DPI であり、Windows の主要な DPI には、96DPI、120DPI、144DPI があります。
例えば、Windows の DPI を 96DPI に設定すれば、96DPI の液晶ディスプレイを使うとして画面出力を行います。この設定で、96DPI に近い DPI を持つ液晶ディスプレイへ画面出力するなら、文字やアイコン等の表示サイズは見やすい大きさになりますが、125DPI 等の 96DPI とは離れた DPI の液晶ディスプレイに画面出力すると、文字やアイコン等の表示サイズは小さくなり見づらくなります。この場合、Windows の DPI を 120DPI に設定すれば、見やすいサイズになります。
Windows 8.1 からは、液晶ディスプレイごとに Windows の DPI を設定できるようになったため、それぞれの液晶ディスプレイに対して見やすい表示サイズに調整できるようになり便利になりましたが、マルチディスプレイを構築している複数の液晶ディスプレイの中の一部で、ソフトウェア画面がぼやけて表示されてしまう場合があります。
見やすいサイズで表示されていても、ぼやけていては見づらくなります。ぼやけて表示されてしまう理由は、DPI 仮想化が機能しているためです。ソフトウェアによって、DPI 仮想化が機能する条件は異なりますが、以下で詳しく記載します。
Windows の DPI が変わると対応できないソフトウェア
設定されている Windows の DPI に合わせて、Windows で使うソフトウェアも、ソフトウェア画面上の文字やアイコン等のサイズを調整しますが、このように Windows の DPI に合わせて文字やアイコン等のサイズを適切に調整して表示できるソフトウェアを、System DPI Aware と呼びます。ここで言う文字やアイコン等は、ソフトウェア画面上のものであり、Windows が表示する文字やアイコン等とは異なります。System DPI Aware のソフトウェアなら、単一の液晶ディスプレイを使用しているなら、ぼやける事はありませんが、マルチディスプレイを構築し、別の液晶ディスプレイへソフトウェア画面を移動させると、ぼやけて表示される場合があります。これは、移動先の液晶ディスプレイの方が、設定されている Windows の DPI が高い場合に発生します。
System DPI Aware のソフトウェアは、起動中に別の液晶ディスプレイへ移動して Windows の DPI が変わると、移動先の Windows の DPI に対応できません。例えば、ソフトウェア画面を、Windows の DPI が 96DPI に設定されている液晶ディスプレイから、120DPI に設定されている液晶ディスプレイへ移動させると、ソフトウェアは Windows の DPI が 96DPI に設定された液晶ディスプレイで起動されたままの状態です。
そこで Windows では、DPI 仮想化と呼ばれる機能で、Windows の DPI が 120DPI に設定されている液晶ディスプレイから起動した場合と同じサイズに調整して表示します。
調整すると言っても、ソフトウェア画面を1つの画像のように扱い、ただ拡大して表示するだけなので、画像を拡大するとぼやけてしまうように、ソフトウェア画面も拡大するとぼやけてしまいます。
Windows の DPI が変わると対応できるソフトウェア
起動中に別の液晶ディスプレイへ移動して Windows の DPI が変わっても、移動先の Windos の DPI に対応できるソフトウェアもあります。このようなソフトウェアは、Per Monitor DPI Aware と呼ばれます。Per Monitor DPI Aware のソフトウェアは、起動中に Windows の DPI が高く設定されている液晶ディスプレイへ移動しても、ソフトウェア画面がぼやけて表示される事はありません。
マルチディスプレイ関係なしに、ぼやけて表示されるソフトウェア
ソフトウェアには、Windows の DPI に合わせて文字やアイコン等のサイズを適切に調整して表示できないソフトウェアもあります。このようなソフトウェアは、Not DPI Aware と呼ばれます。Not DPI Aware のソフトウェアは、Windows の DPI が 96DPI に設定されている事を前提にして作られています。そのため、96DPI よりも高く Windows の DPI が設定されている液晶ディスプレイでは、DPI 仮想化により拡大され、ソフトウェア画面はぼやけて表示されます。
つまり、Not DPI Aware のソフトウェアでは、マルチディスプレイ関係なしに Windows の DPI が高く設定されている液晶ディスプレイにて、ソフトウェア画面がぼやけて表示されます。
ソフトウェア | Windows の DPI | ||
---|---|---|---|
96DPI | 96DPI より 高い |
起動時の DPI より 高い DPI へ移動 |
|
Not DPI Aware | ぼやけない | ぼやける | ぼやける |
System DPI Aware | ぼやけない | ぼやけない | ぼやける |
Per Monitor DPI Aware | ぼやけない | ぼやけない | ぼやけない |