Windows 8.1でのDPIスケーリングのしくみ

ほとんどのWindowsユーザーは、おそらくオペレーティングシステムのDPIスケーリング設定をまったく気にしません。この設定は、モニターが実行されている画面解像度に依存しない、画面上の項目の表示方法を決定します。一部のユーザーは、画面上の要素の読みやすさを向上させるためにDPIスケーリングを増やしたいと考えています。

ただし、主な目的は、モニターの解像度やサイズに関係なく、画面上の項目が適切に見えるようにすることです。基本的な例は、同じDPI設定が使用されている場合、24インチフルHDディスプレイの画面上のアイテムは、46インチフルHDテレビの画面上のアイテムとは異なって見える場合があることです。基本的に、それらを比較すると、アイテムは同じスケールで表示されません。46 'のアイテムは24'のアイテムよりもかなり小さいです。

そこでDPIが登場します。これを改善するには、DPI設定を大きな値に増やして、アイテムとその情報の読みやすさとアクセシビリティを向上させます。

Windows 8では、コンピューターを接続するすべての画面に対してDPI設定は1つだけです。これは、画面解像度1920x1080、DPI設定が通常の100%ではなく150%で出荷されるため、MicrosoftのSurface Proにとって特に問題です。これは、Surface Proのネイティブ画面では非常にうまく機能しますが、たとえば職場や自宅などの大きなモニターに接続するとすぐに問題になります。

これは、150%で実行すると他の画面が正しく表示されない可能性があるためです。また、Surface Proの表示設定で-通常-100%に下げることはできますが、 Surfaceの画面を再び使用し始めたら、設定を再度行ってください。また、両方の画面を同時に使用したい場合も考慮されていません。

Windows 8.1の新機能の1つは、自動DPIスケーリングです(MicrosoftではこれをディスプレイごとのDPIスケーリングと呼んでいます)。つまり、Windows 8.1は、接続されている各モニターのDPIスケーリングを自動的に選択します。したがって、Surface Proは150%で実行され、デスクトップのより大きなフルHDモニターは2つの値が互いに干渉することなく100%(または適切な値が何であれ)で実行されます。

ほとんどのユーザーにとって自動は問題なく機能するはずですが、接続されているすべての画面に対して単一のDPIを実行したい場合は、それを上書きすることができます。

Windows 8.1のDPIスケーリング設定

DPIスケーリングオプションを開く最も簡単な方法は、オペレーティングシステムのデスクトップ(値を変更する画面上)を右クリックし、コンテキストメニューから[パーソナライズ]を選択することです。

ここで、画面の左下隅にある[参照]の下の[表示]をクリックする必要があります。

windows 8.1 dpi-scaling
DPIスケーリングオプション
  • 「すべてのディスプレイに1つのスケーリングレベルを選択させます」は、Windows 8.1の自動DPIスケーリングが有効かどうかを決定します。設定がオフの場合、WindowsはPCが接続されている各ディスプレイのスケーリング値を自動的に選択します。
  • スライダーを使用して、小さい、大きい、大きいの3つの状態をサポートし、個人の好みに基づいてスケーリングを調整できます。
  • 設定を確認する場合は、自動モードを無効にして、代わりにすべてのディスプレイのカスタムDPI設定を選択します。
  • カスタムサイズ設定オプションをクリックすると、表示設定が最大500%になることがあります。これは、Windows 8に対するもう1つの改善点です。
注意 :ここで設定を変更した場合でも、すべての変更がシステムに適用される前に、ログオフして再度ログオンする必要があります。これは実際には、さまざまなディスプレイの実行と個別のDPI設定の変更に関して最も要求される機能の1つです。 プロのヒント :レジストリの値を変更することもできます。 HKEY_CURRENT_USER Control Panel Desktopの下に設定LogPixelsがあります。 100%の場合は96、125%の場合は120、150%の場合は144、200%の場合は192に値を変更します。

マイクロソフト社員 ギャビンギア これが理由である理由を説明します:

スケーリングよりも、オンザフライで変更する方が解像度よりもはるかに難しいことがわかります。約20年間、エコシステムの解像度を変更してきました。さまざまな解像度で動作する必要があるアプリは、WM_DISPLAYCHANGEや他の多くのイベントに応答してサイズを変更する必要があります。スケーリングの変更に対応するイベントはありません(WM_DPICHANGEDはWindows 8.1の新機能です)。そのため、今日このイベントを処理するアプリはわずかです。このイベントを処理しないアプリの場合、Windowsはスケーリングを実行する必要があります。つまり、アプリのレンダリングされた出力に対してビットマップスケーリング操作を実行します。

したがって、Windows 8.1はその機能をサポートしていますが、ほとんどのアプリとプログラムはサポートしていません。