見出し画像

Windows でモニタの拡大率を 100% 未満に設定する方法


1. はじめに

Windows ではモニタの拡大率を変更することができます.このことを初めて知った人は,拡大率を 100% 未満に設定したら便利なんじゃないかと思いつくことでしょう.たとえば,作業領域が狭いとか,あるいは FHD 以下の画面解像度のモニタを使用していてアプリ側が対応していないとか.拡大率を 100% 未満にすることができれば解決できる悩みがいくつもあります.

しかし,この期待は一瞬のうちに破られます.Windows の拡大率は 100% から 500% の間でしか設定することができないのです.そして,多くの人はここで解決をあきらめてしまうと思います.ですが,実は一応いくつかやりようはあるんです.この記事では,そんな Windows の拡大率を 100% 未満にするやや裏技的な方法について紹介します.

2. 関連研究

関連研究というかソースの記事ですが,だいたいは以下の Reddit の内容をもとにしているので,英語読めるよって人はこっちそのまま読んでもらえればいいと思います.

https://www.reddit.com/r/Windows11/comments/12laf1h/scale_less_than_100_in_windows_11/

Yahoo! 知恵袋のおぢたちはそんなこと出来ないよって言っています.ははは,ならそれは出来るってことですね~.

3. 方法

調べた感じ以下の 3 つの方法があります.

  • GPU の機能を使う

  • 仮想ディスプレイを使う

  • レジストリをいじる

3.1. GPU の機能を使う

使用する GPU の機能というのは,GPU メーカーごとに名称が異なるのですが,以下のような名前の機能です.

  • NVIDIA: DSR (Dynamic Super Resolution)

  • AMD: VSR (Virtual Super Resolution)

もともとはゲーム用に用意された機能です.たとえば FHD のモニターでゲームをするとして,仮想的に 4K で出力させたあとそれを FHD にダウンスケールすることで,より高精細なグラフィックスが得られてうれしいねというような機能です.

ゲーム用の機能ではありますが,ゲームとか関係なく画面全体に対して処理されます.なので,実質的には拡大率を 100% 未満にする機能として利用できます.GPU のドライバーのレイヤーで処理されるため,Windows のモニターの認識も変更後の解像度に変わります.そのため,ソフトウェアごとの互換性の問題なども発生しにくい仕組みだと言えます.

詳しい設定手順は自分で調べてください.設定をちょっといじるだけです.NVIDIA の GPU の場合は,以下の記事が参考になると思います.

3.2. 仮想ディスプレイを使う

この方法はややテクニカルです.まず簡単な原理を説明します.この方法は以下の 2 つの技術の組み合わせによって実現されます.

  • Windows のモニタの出力設定「複製」の不思議な挙動

  • 仮想ディスプレイ

Windows では複数のモニタがあったときに出力方法を「拡張」と「複製」の 2 種類から選ぶことができます.「拡張」では 2 つのモニタに別々の映像が表示され,「複製」では 2 つのモニターに同じ映像が表示されます.

今回ポイントになるのは「複製」の挙動です.たとえば,FHD のモニター 1 と 4K のモニター 2 があるとします.このとき,出力の設定を「複製」にすると 2 つのモニタのうち解像度の低いほう,ここでは FHD の映像が 2 つのモニタに表示されることになります.

このような挙動のため,一般的には低いほうの解像度でしか使うことができないと誤解されがちです.しかし,実はここから高いほうの解像度へ変更することができるのです.先ほどの例で言うと,FHD だった解像度を設定から 4K に変更することができます.そうするとモニター 1 にはモニター 2 と同等の 4K の映像がダウンサンプリングされて表示されます.これは実質的に拡大率を 100% 未満に設定している状態になります.

さて,このままだとモニタを 2 つ用意する必要がありますが,それは本末転倒ですね.ここで登場するのが仮想ディスプレイです.仮想ディスプレイというのは,ディスプレイと認識されるけども実際に物理的にディスプレイがあるわけではないというものです.ハードウェア的に実現されたものは仮想ディスプレイアダプタ,ソフトウェア的に実現されたものは仮想ディスプレイドライバなどと呼ばれます.

この仮想ディスプレイをどう使うかということですが,たとえば FHD のモニターがある場合には 4K の仮想ディスプレイを用意してこの二つのモニターの表示を「複製」に設定します.するとあら不思議 FHD の画面に 4K の映像を表示することができます.

3.3. レジストリをいじる

この方法は初心者にはおすすめしません.初心者がレジストリをいじるのはとても危険だからです.あくまで,ある程度の知識があり問題が起きても自己解決できる人だけにしてください.

以下の Microsoft のドキュメントページにディスプレイの拡大率に関するレジストリの設定の詳細が記載されています.

4. 実行例

以下の 2 つの方法について,自分の環境で試してみて実際に動作することを確認しました.

  • NVIDIA GPU で DSR を利用する方法

  • 仮想ディスプレイドライバーを導入しモニタを複製する方法

仮想ディスプレイドライバーについては,以下の GitHub のリポジトリにあるドライバーで試しました.設定の XML をごにょごにょする必要はありましたが,問題なく動作することを確認しました.

5. 考察

3 つの方法を紹介しましたが,自分の場合は最終的に GPU の DSR を利用する方法に落ち着きました.もっとも手軽な方法なので,デスクトップ PC などを利用しており,NVIDIA や AMD の GPU を使っているなら,素直にこの方法にするのが楽だと思います.

ノート PC なんかを使っている場合には,NVDIA や AMD の GPU が搭載されていることは稀ですから,DSR や VSR を使った方法は利用できません.そんなときにどうしても拡大率を 100% 未満にしたいなら仮想ディスプレイを使う方法がよいでしょう.仮想ディスプレイアダプタなら Amazon で買えますし,使い方も HDMI 端子に挿して設定をいじるだけなので比較的簡単でしょう.

ある程度知識がある人で,仮想ディスプレイを用意するだけなのに専用のハードウェアを買うのが馬鹿らしいと思うなら仮想ディスプレイドライバーを使うとよいと思います.あるいはレジストリの編集に挑戦してみてもいいかもしれませんね.

解像度については,単純に FHD のモニターに 4K の映像を出力すると,さすがに文字が小さすぎて使いづらかったです.拡大率 50% はやりすぎということですね.自分の場合では,4K などの大きな解像度にしたうえで,Windows 側の拡大率の設定を 150% くらいに設定して使っています.こうすると,実質的な拡大率がちょうどいい具合になりました.

6. 結論

Windows で拡大率を 100% 未満にする以下の 3 つの方法を紹介しました:

  • GPU の機能を使う方法

  • 仮想ディスプレイを使う方法

  • レジストリをいじる方法

おすすめは GPU の機能を使う方法です.基本的にはこの方法で間違いないでしょう.NVIDIA や AMD の GPU を搭載していない場合は,仮想ディスプレイを使う方法が利用できます.でもそれってたぶんノート PC ってことなので,大人しく外部モニターを買ったほうが幸せになれるような気はします.

ちなみに,仮想ディスプレイを使う方法は自力で見つけました.世紀の大発見だ~なんて思っていたのですが,あとから調べてみると Reddit のスレッドで普通に紹介されていて悲しかったです.

いいなと思ったら応援しよう!