> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PC에서 높은 DPI 디스플레이 지원

> 높은 DPI Windows 디스플레이에서 렌더링과 마우스 입력이 올바르게 작동하도록 어셈블리 매니페스트를 사용하여 PC 타이틀에서 Per-Monitor V2 DPI 인식을 활성화합니다.

Windows 10 애플리케이션과 셸 요소가 픽셀 밀도가 다양한 모니터에서 일관된 크기로 표시되도록 Windows에는 기본 제공 배율 설정이 있습니다. 이러한 배율 설정이 조정되었을 때 타이틀이 올바르게 렌더링하고 마우스 입력을 처리하도록 하려면 기본 DPI 인식을 설정하세요. 이 작업을 수행하지 않으면 타이틀이 잘못 표시되어 높은 DPI 디스플레이를 사용하는 플레이어가 타이틀을 사용할 수 없게 될 수 있습니다.

## 높은 DPI 인식 활성화

#### 타이틀이 높은 DPI 디스플레이를 지원하도록 하려면

1. 게임 실행 파일의 어셈블리 매니페스트 XML을 확인합니다. 이는 titleName.exe, titleName.exe와 함께 있는 매니페스트 파일 또는 게임 실행 파일에 포함된 매니페스트일 수 있습니다. 다음과 같이 [sigcheck](https://learn.microsoft.com/sysinternals/downloads/sigcheck)를 사용하여 명령줄을 통해 게임 실행 파일에서 포함된 매니페스트를 추출할 수 있습니다.
   ```cpp theme={null}
   sigcheck -m titleName.exe
   ```
2. 매니페스트 XML에 다음 `<dpiAware>` 태그만 표시되면 높은 DPI 디스플레이가 지원되지 않습니다.
   ```cpp theme={null}
   <windowsSettings>
       <dpiAware>
           true
       </dpiAware>
   </windowsSettings>
   ```
3. 포함된 매니페스트가 개별 매니페스트보다 우선합니다. 포함된 매니페스트가 있으면 4단계로 이동합니다. 포함된 매니페스트가 없으면 다음 내용으로 titleName.exe.manifest 파일을 만듭니다.
   ```cpp theme={null}
   <?xml version="1.0" encoding="UTF-8" standlone="yes"?>
   <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
   <application xmlns="urn:schemas-microsoft-com:asm.v3">
       <windowsSettings>
           <dpiAwareness xmlns="https://schemas.microsoft.com/SMT/2016/WindowsSettings">
               PerMonitorV2
           </dpiAwareness>
       </windowsSettings>
   </application>
   </assembly>
   ```
4. 포함된 매니페스트가 있으면 Windows SDK의 다음 [Mt.exe](https://learn.microsoft.com/windows/win32/sbscs/mt-exe) 도구를 사용하여 명령줄을 통해 찾습니다.
   ```cpp theme={null}
   mt -inputresource:<titleExeFilename> -out:<manifestOutputFilename>
   ```
5. 다음과 같이 포함된 매니페스트를 편집하여 새 `<dpiAwareness>` 태그를 추가합니다.
   ```cpp theme={null}
   <windowsSettings>
       <dpiAwareness xmlns="https://schemas.microsoft.com/SMT/2016/WindowsSettings">
           PerMonitorV2
       </dpiAwareness>
   </windowsSettings>
   ```
6. Windows SDK의 다음 [Mt.exe](https://learn.microsoft.com/windows/win32/sbscs/mt-exe) 도구를 사용하여 명령줄을 통해 포함된 매니페스트를 업데이트합니다.
   ```cpp theme={null}
   mt -updateresource:<titleExeFilename> -manifest <manifestFilename>
   ```

이제 타이틀이 높은 DPI 디스플레이를 지원합니다.

## 높은 DPI 인식 확인

#### 타이틀이 높은 DPI 디스플레이를 지원하는지 확인하려면

1. Surface Studio 2와 같이 높은 DPI 디스플레이가 있는 PC를 사용하여 **설정** > **디스플레이**로 이동하고 배율을 **150%** 로 설정합니다.
2. 타이틀을 시작합니다.
3. 커서가 있는 화면을 검사하여 타이틀이 예상대로 표시되는지 확인합니다. 예를 들어 전체 화면 타이틀은 화면 전체를 차지해야 합니다.
4. 화면에서 커서를 움직여 타이틀 창의 전체 표면 영역에 도달할 수 있는지 확인합니다.
5. 대화형 UI 요소(예: 단추) 위로 마우스를 가져가서 시각적 상태와 상호 작용이 예상대로 작동하는지 확인합니다. 예를 들어 단추는 커서가 인접한 곳이 아니라 바로 위에 있을 때 시각적 상태가 변경되어야 합니다.

## 참고

* 높은 DPI 인식 문제에 대한 해결 방법으로 레지스트리 가상화를 비활성화하는 것이 제안될 수 있지만 권장하지 않습니다.
* Visual Studio의 구성 속성에는 DPI 인식 옵션이 있지만 이 옵션은 이전 `<dpiAware>` 태그를 사용하므로 MSIXVC로 패키지된 타이틀에서는 작동하지 않습니다.

## 참고 항목

[프로세스의 기본 DPI 인식 설정](https://learn.microsoft.com/previous-versions/windows/desktop/legacy/mt846517\(v=vs.85\))


## Related topics

- [Xbox에서 설계한 Handheld Compatibility 프로그램 가이드라인](https://docs.xbox.com/ko/build/gdk-and-engines/handheld/handheld-guidance.md)
- [Handheld Compatibility 가이드라인 및 테스트 케이스](https://docs.xbox.com/ko/build/gdk-and-engines/handheld/handheld-guidelines-and-testcases.md)
- [Xbox 접근성 가이드라인 101](https://docs.xbox.com/ko/build/game-principles/accessibility/xag-deep-dives/xag-101-text-display.md)
- [XDisplayHdrModePreference](https://docs.xbox.com/ko/reference/system/xdisplay/enums/xdisplayhdrmodepreference.md)
- [XGameStreamingGetDisplayDetails](https://docs.xbox.com/ko/reference/system/xgamestreaming/functions/xgamestreaminggetdisplaydetails.md)
