PC에 높은 DPI 디스플레이 지원
Windows 10 응용 프로그램과 셸 요소가 다양한 픽셀 밀도를 지닌 모니터에서 일관된 크기로 나타나도록 Windows에는 기본으로 배율 설정 기능이 있습니다. 이 배율 설정을 조정하는 경우 타이틀이 제대로 마우스 입력을 렌더링하고 처리하려면 기본 DPI 인식을 설정해야 합니다. 그렇게 하지 않으면 타이틀이 제대로 표시되지 않고 높은 DPI 디스플레이 사용자의 경우에는 사용할 수 없게 렌더링됩니다.
높은 DPI 인식 사용
타이틀이 높은 DPI 디스플레이를 지원하게 하는 방법
- 게임 실행 파일의 어셈블리 매니페스트 XML을 확인합니다. titleName.exe이거나 titleName.exe 옆 매니페스트 파일 또는 titleName.exe.manifest 파일입니다.
Sigcheck(아래 참조)사용하여 명령줄을 통해 게임 실행 파일에서 포함된 매니페스트를 추출할 수 있습니다.
sigcheck -m titleName.exe
- Manifest XML에 다음
<dpiAware>
태그만 표시되는 경우 높은 DPI 디스플레이는 지원되지 않습니다.<windowsSettings> <dpiAware> true </dpiAware> </windowsSettings>
- 포함된 매니페스트는 느슨한 매니페스트에 우선합니다. 이 파일이 있다면 4단계로 이동합니다. 포함된 매니페스트가 없는 경우 다음 콘텐츠를 포함하는 titleName.exe.manifest 파일을 만듭니다.
<?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>
- 포함된 매니페스트가 있는 경우 Windows SDK에서 Mt.exe를 사용하여 명령줄을 통해 찾습니다.
mt -inputresource:<titleExeFilename> -out:<manifestOutputFilename>
- 포함된 매니페스트를 편집하여 (다음 그림과 같이) 새
<dpiAwareness>
태그를 추가합니다.<windowsSettings> <dpiAwareness xmlns="https://schemas.microsoft.com/SMT/2016/WindowsSettings"> PerMonitorV2 </dpiAwareness> </windowsSettings>
- Windows SDK에서 Mt.exe를 사용하여 명령줄을 통해 포함된 매니페스트를 업데이트합니다.
mt -updateresource:<titleExeFilename> -manifest <manifestFilename>
이제 타이틀에서 높은 DPI 디스플레이를 지원합니다.
높은 DPI 인식 유효성 검사
타이틀이 높은 DPI 디스플레이를 지원하는지 확인하는 법
- Surface Studio 2와 같이 높은 DPI 디스플레이가 있는 PC를 사용하는 경우, 설정>디스플레이로 이동하여 배율을 150%로 설정합니다.
- 타이틀을 시작합니다.
- 마우스 커서가 있는 화면을 검토하고 타이틀이 예상한 대로 표시되는지 확인합니다. 예를 들어 전체 화면 타이틀이 화면 전체를 차지해야 합니다.
- 화면에서 마우스를 이동하여 타이틀 창의 전체 화면 영역에 닿을 수 있는지 확인합니다.
- 대화형 UI 요소(예: 단추)에 마우스를 대고 시각적 상태와 상호 작용이 제대로 작동하는지 확인합니다. 예를 들어 커서를 버튼의 (인접 부분이 아닌)바로 위에 올려놓으면 버튼의 시각적 상태가 변경되어야 합니다.
참고 항목
- 높은 DPI 인식 문제에 대한 해결 방법으로 레지스트리 가상화의 해제가 있을 수도 있으나 권장하지는 않습니다.
-
Visual Studio는 구성 속성에 DPI 인식 옵션이 있지만 이것은 이전의
<dpiAware>
태그를 사용합니다. 이 태그는 MSIXVC 패키지 타이틀에는 작동하지 않습니다.