高 DPI 認識を有効にする
タイトルが高 DPI ディスプレイをサポートすることを確認する
- ゲーム実行ファイルのアセンブリ マニフェスト XML を確認します。これは titleName.exe、titleName.exe と並ぶマニフェスト ファイル、またはゲーム実行ファイル内に埋め込まれたマニフェストである場合があります。埋め込みマニフェストは、以下のように sigcheck を使ってコマンド ラインからゲーム実行ファイルから抽出できます。
- マニフェスト XML に次の
<dpiAware>タグしかない場合、高 DPI ディスプレイはサポートされていません。 - 埋め込みマニフェストは、ルーズ マニフェストより優先されます。存在する場合は手順 4 に進んでください。埋め込みマニフェストがない場合は、次の内容の titleName.exe.manifest ファイルを作成します。
- 埋め込みマニフェストがある場合は、Windows SDK の Mt.exe ツールを使い、次のようにコマンド ラインからそれを取得します。
- 埋め込みマニフェストを編集して、次のように新しい
<dpiAwareness>タグを追加します。 - Windows SDK の Mt.exe ツールを使い、次のようにコマンド ラインから埋め込みマニフェストを更新します。
高 DPI 認識を検証する
タイトルが高 DPI ディスプレイをサポートすることを確認する
- Surface Studio 2 など、高 DPI ディスプレイを備えた PC で、Settings > Display に移動し、スケーリングを 150% に設定します。
- タイトルを起動します。
- カーソルが存在する画面を確認し、タイトルが期待どおりに表示されることを確認します。たとえば、フル スクリーン タイトルは画面全体を占めるべきです。
- カーソルを画面上で移動させ、タイトル ウィンドウの表面全体にカーソルが到達できることを確認します。
- インタラクティブな UI 要素(ボタンなど)にホバーし、視覚状態とインタラクションが期待どおりに動作することを確認します。たとえば、ボタンはカーソルが直接その上にあるとき(隣接しているときではなく)に視覚状態が変わるはずです。
注意事項
- レジストリ仮想化を無効にすることが高 DPI 認識の問題の解決策として提案されることがありますが、推奨しません。
- Visual Studio の Configuration Properties には DPI Awareness オプションがありますが、これは古い
<dpiAware>タグを使用しており、MSIXVC パッケージ化されたタイトルでは動作しません。
