|
[ヘルプTop] [戻る]
互換性
Windowsの派生版の差異を吸収するための互換設定を行います。
大量にあるOSの種類の差異は分岐ないし含有させて補完しておりますが、判断が難しい項目をここでまとめることを想定しています。
なるべく、この手の設定が増えないよう善処しておりますことを含みおきください。
スケーリング
Windowsのもつ各種の高DPIモードを切り替えることができ、同梱のほとんどの実行ファイルが影響を受けます。
Windows10以降ではディスプレイの解像度が高く、サイズが小さい場合は画面の描画項目を拡大し、描画サイズを100%以上に設定することが増えております。
描画サイズを100%以上に設定している環境を、一般的に「高DPI環境」と読んでおります。
挙動の性格上、設定値の反映には各種アプリの再起動が必要となります。
なおスケーリングモードの切り替えに問題がある環境を検出した場合、設定値はそのままに挙動だけ変更することがありますので、必ずしも設定どおりに動くものではありません。
- 制御なし
Windowsでの呼称は「未対応」となります。
描画速度は最速です。
アプリケーションでは何も制御しませんので、高解像度ディスプレイでは小さく表示されたり、OSによる自動制御の影響を受けて文字などが滲みます。
※基本的にDPI比率は96×96と認識しますが、OSの自動設定により変化する場合があります。
- システム
Windowsでの呼称は「システム」となり、Windows XPの頃より利用されている方式です。
起動したディスプレイのDPI比率を使い、アプリ側で伸長描画を行いますので奇麗に拡大描画を行います。
ただし解像度の異なるマルチディスプレイには対応していないため、解像度の異なるディスプレイにウィンドウを動かすと補正が利かなくなります。
※モニタ設定のDPI比率を正しく取得します。
※高DPI環境での既知の制限
サムネイル画像のサイズが小さくなります。
新規表示させた場合のドッキングウィンドウの幅が小さくなる場合があります。
※「システム」への切り替えに失敗した場合は、設定値はそのままで挙動のみ「制御なし」に切り替わります。
- GDIスケーリング
Windowsでの呼称は「GDIスケーリング」で、「混合モード」や「システム(拡張)」と呼ばれることがあります。
Windows10の1809で正式採用され、23H2以降でそこそこ安定してきた方式です。(24H2時点で結構バグがあります)
マルチディスプレイに完全対応していますが、OSが対応していないコンポーネントも多く、描画が崩れたり、誤認することもる多く見受けられます。
※DPI比率は96×96と認識します。
※DPIが96×96で、拡大率を上げている場合は滲みがひどくなりますので「システム」での運用を推奨します。
※高DPI環境での既知の制限
OS側の不具合と思える描画の異常は多々あります。
「高解像度ディスプレイ環境での制限」こちらも参照してください。
※「GDIスケーリング」への切り替えに失敗した場合は、設定値はそのままで挙動のみ「システム」に切り替わります。
さらに「システム」に切り替えることができなければ「制御なし」になります。
※補足1
Windowsに実装されているスケーリングモード
Windowsに実装されているスケーリングモードは以下の通りです。
モード | 搭載時期 | As/Rの対応 | 概要 |
未対応 | Windows XP以前 | 〇 | あらゆるディスプレイのDPIを96×96固定のものとして扱います。 高解像度ディスプレイで見ると小さすぎるか滲みが酷いものとなります。 |
システム対応 | Windows Vista ※起動時のモニタのDPI値を使用 | △ | アプリ起動時のモニタのDPI値を使用して伸長しますが、解像度の異なるモニタをまたいで移動すると強制的に「未対応」になります。 |
モニタごと ver.1 | Windows 8.1 Windows 10(1607) | × | すごい奇麗ですが、開発者が大変です。 DPIの変化をウィンドウ毎に通知します。 ※As/Rのようにタブ数の掛け算でコンポーネント数が増大するので、ウィンドウを移動すると再計算量が莫大すぎて遅いため対応していません。 |
モニタごと ver.2 | Windows 10(1703) | × | すごい奇麗ですが、ものすごい開発者が大変です。 DPIの変化をウィンドウの子コンポーネントまでたどって通知しますので、モニタごと ver.1の比ではないほどの再計算が必要になります。 |
GDIスケーリング | Windows 10(1809)以降 ※マイナーアップデートごとに挙動が変化中 | 〇 | そこそこ奇麗だが、Windows側の不具合や、古いコンポーネントなどが未対応で画面が崩れることがあります。
|
※補足2
設定が反映されないコマンド
設定が反映されないコマンドは以下の通りです。
コマンド | 説明 | スケーリングモード | 説明 |
InstAsr.exe | 初期設定ツールのローダー | システム | インストール対象外かつ、頻繁に使うものではないため。 |
Setting.exe | 初期設定ツール | システム | インストール対象外かつ、頻繁に使うものではないため。 |
Unreg.exe | アンインストーラー | 未対応 | 画面を持たないアプリで、頻繁に使うものではないため。 |
Associate.exe | 関連付けツール | システム | アプリの設定ツールで頻繁に使うものではないため。 |
AsrLoad.exe | ローダー | 未対応 | 画面を持たないアプリのため。 |
BindFile._xe | 分割ファイルの結合 | 未対応 | 画面を持たないアプリのため。 |
FreeMem.exe | メモリの掃除屋さん にゃお | 未対応 | 画面を持たないアプリのため。 |
ShellCmd.exe | OSの機能の呼び出し | 未対応 | 画面を持たないアプリのため。 |
SendToExtract.exe | コンテキストメニューの圧縮 | 未対応 | 画面を持たないアプリのため。 (32ビットアプリのため廃止予定) |
SendToCompress.exe | コンテキストメニューの展開(解凍) | 未対応 | 画面を持たないアプリのため。 (32ビットアプリのため廃止予定) |
関連項目
・高解像度ディスプレイ環境での制限
|