C#2.0時代のゲームプログラミング(35)


■ DPI設定の変更が及ぼす影響


コントロールパネル→画面のプロパティ→設定 の【詳細設定】ボタン→全般→DPIの設定


という設定項目をご存知だろうか?


この値は、ディフォルトでは96dpiに設定されているが原則的に自由に設定を変更できるし、文字が読みにくいという理由で変更しているユーザーも居る。.NET Frameworkで書かれたアプリケーションはこの影響をどう受けるのだろうか?


■ 方針


dpi変更の影響を受けるようにするのか、受けないようにするのか。まずその方針を決めなければならない。


ひとつのアプリケーションでちぐはぐな対応をとると、内部に配置されたコントロールに描画が収まっていない、というような事態に陥ることになる。


■ 高解像度displayへの対応を考えると…


displayは年々高解像度化しており、将来的には、2048×1536や4096×3072のような画面モードが標準的になると思われる。そのころのOSは、動作させるアプリケーションごとに動的にdpiを変更する機能がついているはずだ。そうなったときに、dpi設定の変更を受け入れないアプリケーションは、相対的に小さなウィンドゥサイズとなるという見方がある。


しかし、そのころのOSにはdpiに関係なく、ウィンドゥをそのまま拡大する機能がついているかも知れない。


結局のところ、dpi変更を受け入れるようにアプリケーションを作るべきなのかどうかは現時点ではよくわからない。


(つづく)