4Kのディスプレイになったのに拡大率150%で使うとWQHD相当ではないか、という記事を先日書きましたが...そんなに単純なものではなかったようです。
拡大縮小は文字だけ?
4Kディスプレイを拡大率150%で使うと、単純計算で表示領域は 2560x1440になるような気がしていました。それぞれ 1.5倍すれば3840x2160になるからです。
が、「ペイント」で2560x1440画素の画像を作ってみると、画像のエリアだけは 150% にならないことに気づきました。つまり、「4Kディスプレイを拡大率150%で使う」ということと、「4KディスプレイをWQHD解像度で使う」ということは違う、ということです。下記の画像を見てください。
左側は、4Kディスプレイを100%表示で表したものです。一番上の「あ」は36ポイント。ディスプレイ上での文字高は9ミリほどです。右側は、150%表示で表したものです(手振れしてますが)。比べてみればわかるように、メニューバーの高さは150%に拡大されています。一方で、なんと、画像の部分は拡大されていない。試しに1ピクセル幅の線を引いてみましたが、4Kディスプレイの実ピクセルで表示されました。これはビックリ。
拡大は文字だけなのか?と思ってエクセル(互換品ですが)で確認(また手振れ...)。
セルの高さが3ミリ弱から4ミリ強に拡大され、メニュー含め全体的に拡大されていることがわかります。なるほどねぇ。
4Kディスプレイの恩恵
というわけで、4Kディスプレイを150%にスケールして使う場合であっても、WQHDのディスプレイとは同じではなく、画像については広く表示されることがわかりました。
Windowsのスケーリングはアプリによってうまく動いたりダメだったりと、ちょっと怪しいなと思っていましたが、いろいろ工夫されているんですね...ちょっと見直しました。
アプリのスケーリング動作を表示する小技
上の情報に、アプリがDPIスケーリングに対応しているかどうかを判定する方法が紹介されていたので、こちらに抜き書きしておきます。方法は次の通り。
- Sysinternals Process Explorerをダウンロードして実行。
- Process Explorerのプロセス画面で右クリックし、DPI Awareness カラムを追加。
- 判定したいアプリを実行して確認
こんな感じで表示されます。
Chromeは割と上手にスケーリング対応していると思っていましたが、WindowsのAPIは使っていないようですね。Unawareと書かれていました。Firefox は Per-Monitor Aware でした。
ということで、何かの参考になれば幸いです。