Windows8.1 で Chrome を DPI スケーリングに対応した鮮明な表示にする方法

Thinkpad8 のような高解像度な Windows8.1 マシンで DPI スケーリングを 100% 以外に設定すると、DPI スケーリング非対応なアプリの文字表示がボケてしまい非常に不鮮明で見づらく、どうしたもんか悩んでました。特にメインブラウザとして常用している Chrome の非対応は致命的でした。
エンジニアなら当たり前のように開発用にメインブラウザは Chrome を使っていることでしょう。例に漏れず僕も同じで、既に Internet Explorer にはどうしても戻れない体になってしまっているので、Windows8.1 でもメインブラウザは変わらず Chrome でいきたいわけです。

一つ前のエントリでもご紹介しましたが、僕にはこの違いがどうしても許容できません。

img004.png

いろいろ調べた結果、ネットで対処方法としてよく紹介されている方法は下記の方法です。

- スポンサーリンク -

Google Chrome プロパティ > 互換設定 > 高DPI設定では画面のスケーリングを無効にする

つまり、アプリを強制的にドットバイドットで表示させて、Chrome 側の拡大表示を使う方法です。この方法では、確かにコンテンツ部分は Chrome 側の表示設定(例えば 200%)にあわせて鮮明に拡大表示されますが、メニューや組み合わせ技はボタン類の表示が小さいままで非常に使い勝手が悪く、納得できる設定でありません。

ドットバイドット(高DPIスケーリングを無効にする)での表示例
→文字は心眼を開眼させないと読めないレベルに小さくなる

img005.png

Chrome の設定で 200% 設定をした場合の表示例。
→文字類は鮮明に拡大表示されるが、メニュー関連の大きさは変わらず UX は改善されない。

img006.png

Chrome には隠しパラメータ high-dpi-support ってのがある!

Chrome には隠しパラメータとして high-dpi-support ってのが非推奨オプションとして一応用意されていて、OS 側の DPI スケーリングに合わせてアプリ側のサイズとレイアウトを最適化する機能が存在します。下記の URL を URL 欄にコピペして入力して下さい。
chrome://flags/#high-dpi-support

img007.png

設定を「有効」に変更して Chrome を再起動すると、メニュー類なども拡大表示されているはずです。
※ Chrome のコンテンツ表示は逆に 100% へ戻す必要があります。

img008.png

これで一安心と思いきや、許容できない不具合が残念ながら3つ存在します。メリット・デメリットをまとめますとこんな感じ。

改善される点

  • メニューやボタン類が意図するような DPI スケーリングの倍率で拡大される
  • コンテンツ表示(文字や画像)が鮮明なまま拡大される

許容できない不具合

  • 200% 以外の拡大の場合、メニューや画像の拡大で単純拡大のためジャギが目立つ

    img009.png

  • Extension のボタンが何故か表示されない

    img010.png

  • コンテンツ内のプルダウン内の文字が何故か正しく表示されなく視認性が悪い

    img011.png

そんなこんなで Chrome で high-dpi-support オプションを有効にすることはおすすめできません。
何とかならないものかといろいろ調べてましたが、ここ最近のアップデートで、Chromium の high-dpi-support がめちゃくちゃいい感じになりました。先に上げた不具合が全て解決されています。コレキタ!素晴らしい!ヽ(=´▽`=)ノ

ちなむに Chromium(クロミウム)はオープンソースのウェブブラウザのプロジェクト名で、Google Chrome はこのソースコードを引き抜いて開発されたものです。従ってここで紹介する方法は、いずれは Chrome も同じ方法で綺麗な表示が可能になるんじゃないか思っています。

Chromium で high-dpi-support を有効にして DPI スケーリングに対応する方法

まず最新の Chromium をダウンロードします。
ダウンロードしたら、ファイルを展開して、chrome-win32 ディレクトリを Program Files にでも移して、chrome.exe を起動してタスクバーにピン止めしておきましょう。

最近の Chromium では flags から high-dpi-support が削除されたので、Chrome と同様の方法では有効化できません。何故か build r256811から削除されました。代わりに下記手順でレジストリに設定を記述することで有効化します。

  1. レジストリエディタを起動する。検索から regedit で起動できます
  2. [HKEY_CURRENT_USER\Software\Google\Chrome]を表示
  3. 新規 > キーを作成 で Profile キーを作成
  4. Profile 配下に DWORD 値として high-dpi-support = 1 で作成
  5. ※0:disable, 1=enable, 2=default の意味で、default=disable です
  6. Chromium を再起動

レジストリエディタでこんなかんじになってるはずです。

img012.png

2014年3月19日時点での Chromium のビルドバイナリでは、以上の対応で、前述した3つの許容できない不具合は全て解消され、僕的には完全体ないつもの状態の Chrome をメインブラウザとして使い続けることができるようになりました。DPI スケーリングの悩みからひとつ開放されました。

img013.png

もっとも、他にも Photoshop CC がドットバイドットで常に表示されてしまい使い物にならなかったりと、常用ツールのほとんどが DPI スケーリング非対応と辛い現実が待ち構えているので、やはり windows8.1 は極力デスクトップを使わない努力が必要そうです。

- スポンサーリンク -