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

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

> 어셈블리 매니페스트로 PC 타이틀에서 Per-Monitor V2 DPI 인식을 활성화해 고 DPI Windows 디스플레이에서도 렌더링과 마우스 입력이 올바르게 동작하도록 하세요.

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. 임베드된 매니페스트가 별도(loose) 매니페스트보다 우선합니다. 임베드된 매니페스트가 있다면 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에서 **Settings** > **Display**로 이동해 스케일링을 **150 percent**로 설정합니다.
2. 타이틀을 실행합니다.
3. 커서가 표시되는 화면을 살펴보고 타이틀이 예상대로 표시되는지 확인합니다. 예를 들어 전체 화면 타이틀은 전체 화면을 차지해야 합니다.
4. 커서를 화면 전반에 걸쳐 이동시키고, 타이틀 창의 전체 표면 영역에 도달할 수 있는지 확인합니다.
5. 인터랙티브 UI 요소(예: 버튼) 위에 커서를 올리고, 시각적 상태와 상호작용이 예상대로 동작하는지 확인합니다. 예를 들어 버튼은 커서가 인접한 위치가 아니라 바로 위에 있을 때 시각적 상태가 변해야 합니다.

## 참고 사항

* 레지스트리 가상화를 비활성화하는 것이 고 DPI 인식 문제의 해결책으로 제안되기도 하지만, 권장하지 않습니다.
* Visual Studio에는 Configuration Properties에 DPI Awareness 옵션이 있지만, 이는 이전 `<dpiAware>` 태그를 사용하며 MSIXVC 패키지 타이틀에는 동작하지 않습니다.

## 참고

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


## Related topics

- [XR-131 Game DVR 및 스크린샷의 디스플레이 모드 지원](/ko/publishing/certification/xr/xr-131.md)
- [Handheld Compatibility 가이드라인 및 테스트 케이스](/ko/build/gdk-and-engines/handheld/handheld-guidelines-and-testcases.md)
- [Handheld Compatibility 프로그램 가이드라인](/ko/build/gdk-and-engines/handheld/handheld-guidance.md)
- [FMA XR-131: Game DVR 및 스크린샷용 디스플레이 모드](/ko/publishing/certification/fma/xr-131.md)
- [XAG 101: 텍스트 표시](/ko/build/game-principles/accessibility/xag-deep-dives/xag-101-text-display.md)
