Windows에서는 HiDPI에 대응하지 않았거나 운영체제에서 HiDPI 지원앱 임을 인식 못하는 앱들이 있습니다.
대부분 애플리케이션 쪽에서 대응을 안 한 경우 입니다.
이 경우 앱의 화면이 깨지거나 작게 표시되어 제대로 안 보이는 상태로 사용하게 되는데,
사용하는 입장에서는 불편하기 때문에 고밀도 화면을 구입한 것을 후회하게 될 수 있습니다.
이러한 상황에서 해결 방법을 잘 몰라 패널 해상도보다 낮은 해상도로 조정해서 사용하는 경우가 있습니다.
이 경우에는 화면 전체가 안티앨리어싱 처리되어 뿌옇게 보이기 때문에 고밀도 화면을 제대로 활용할 수 없습니다.
Windows에서는 이러한 불편함을 조금이나마 개선하기 위해서 3가지의 HiDPI 호환성 모드를 제공합니다.
HiDPI 호환성 모드에 따라 앱이 어떻게 동작하는지 알게 된다면,
HiDPI 미대응 앱을 사용할 때 적절한 호환성 모드를 통해 불편함을 최소화 할 수 있습니다.
HiDPI 호환성 모드 설정 방법은 다음과 같습니다:
1. HiDPI 호환성 모드를 지정할 앱의 실행 파일 또는 바로 가기의 속성을 띄운 뒤, [호환성] 탭으로 이동합니다. 그리고 하단에 위치한 [높은 DPI 설정 변경] 버튼을 누릅니다.

2. 높은 DPI 설정 변경 창이 나타난다면, 하단의 "높은 DPI 조정 동작을 재정의합니다." 부분을 체크하고 3가지 호환성 모드 중 하나를 선택합니다.

HiDPI 호환성 모드에 따른 앱의 변화는 다음과 같습니다:
- 재정의: 응용 프로그램

윈도우에서 DPI 스케일링을 하지 않고, 애플리케이션이 표시하는 대로 출력합니다.
앱이 스케일링을 지원하지 않거나 제대로 대응하지 않은 경우,
96 DPI(100% 크기)로 표시되어 매우 작게 표시되거나 어느 항목은 크기가 지나치게 크거나 작게 표시되어
화면이 깨지거나 무너지는 경우가 있을 수 있습니다.
DPI 스케일링을 통한 강제 확대가 아닌 애플리케이션이 표시하는 대로 출력하기 때문에
텍스트나 컨트롤 부분이 깔끔하게 표시됩니다.
앱 자체적으로 스케일링을 지원하나 윈도우에는 HiDPI 미지원으로 인식되어 96 DPI로 고정되고 확대되어 표시되는 경우에는 이 호환성 모드 시 깔끔하게 표시될 수 있습니다.
보통 옛날 운영체제부터 실행되어오던 구형 프로그램에서 개선되는 경우가 많습니다.
- 재정의: 시스템

앱이 HiDPI를 지원하지 않을 경우, 96 DPI 기준으로 애플리케이션을 실행합니다.
그리고 운영체제에서 DPI 스케일에 맞게 강제 확대하여 보여줍니다.
이 때, DPI 해상도의 배율이 정배율(200%, 300%, 400%, ...)일 경우 안티앨리어싱 처리를 하지 않습니다.
즉, 200% 기준일 경우 원래 1 x 1 PX 찍어야 할 부분을 2 x 2 PX로 찍어서 마치 1/2 해상도의 패널에서 보이는 것과 동일하게 보여줍니다. 예를 들어 4K 화면에서 200% 시 같은 크기의 FHD 화면에서 보는 것처럼 볼 수 있습니다.
(위 예시 이미지가 정배율 기준입니다. 원본 크기로 보면 안티앨리어싱이 되어 있지 않아 뿌옇지 않음을 확인할 수 있습니다.)
다만 정배율이 아닐 경우에는 안티앨리어싱 처리를 하여 뿌옇게 보입니다.
윈도우에서 HiDPI 호환성 모드 사용 시에는 최대한 정배율을 쓰는게 더 나은 결과를 보여줍니다.
- 재정의: 시스템(고급)

"시스템(고급)"에서 고급의 경우 Enhanced의 오역입니다. 정확히 하면 향상이라고 보시면 됩니다.
"시스템"과 동일하게 동작하나, 지원할 경우에 텍스트에 한해 고해상도화 되어 가독성이 향상됩니다.
미지원 할 경우에는 "시스템"과 동일한 결과물이 출력됩니다.
위 "시스템" 예시 화면과 비교해보면 버튼과 같은 부분은 "시스템"과 동일하게 강제 확대 처리되어 표시되고 있지만,
텍스트는 고해상도 처리되어 표시됨을 확인할 수 있습니다.
"애플리케이션"과 차이점은 96 DPI 기준으로 출력 되는 것이기 때문에 화면 구성이 깨지거나 하지 않고, 원래 앱의 비율 그대로 표시됨을 확인할 수 있습니다.
실제 예시 화면을 보면 "애플리케이션"의 예시 화면과 "시스템"의 예시 화면 비율이 다름을 확인할 수 있습니다.
그러면 "시스템(고급)"으로 설정하면 무조건 좋은가하면, 아닙니다.
상황에 따라 앱에서 커스텀 폰트를 쓰는 경우(특정 크기만 지원하는 비트맵 폰트 등) 정배율이더라도 글씨부분이 안티앨리어링 또는 폰트 깨짐 처리가 되어 가독성 저하가 발생할 수 있습니다.
따라서, 실제 "시스템"과 "시스템(고급)" 양 쪽 다 사용해보고 제일 나은 경우를 고르는게 더 좋습니다.
결론:
- 미호환 앱의 경우 "시스템" 재정의를 사용할 경우 96 DPI 기준으로 실행되고, DPI 스케일링 되기 때문에 화면이 깨지거나 작게 표시되는 등의 문제는 해결된다.
- Windows에서 HiDPI 호환 모드를 사용해야 할 경우 DPI 설정이 정배율(200%, 300%, 400%, ...)로 되어 있는 것이 좋다.
- "시스템(고급)" 재정의를 사용할 때, 지원할 경우 텍스트에 한해 고해상도화 되어 가독성이 향상된다. 그러나, 커스텀 폰트 등의 이유로 오히려 글씨 부분이 안티앨리어싱 되거나 폰트가 깨져 가독성 저하가 발생할 수 있으므로 실제 적용해보고 상황에 맞는 호환성 모드를 사용하는 것이 낫다.
- 실제 앱은 HiDPI를 지원하나 운영체제에서 지원하는 앱인 것을 인식하지 못해 강제 확대되는 경우에는 "응용 프로그램" 재정의를 통해 깔끔하게 사용할 수 있다.
[TIP] 이러한 DPI 호환모드를 이용하여, 성능 상의 이유로 4K 패널에서 FHD 해상도를 써야하는 경우(EX: 게임)
전체화면-FHD해상도 지정으로 안티앨리어싱 처리된 화면을 보는 것보단,
"시스템" 재정의를 사용하여 창모드-FHD해상도 지정을 하면 안티앨리어싱 처리되지 않아 더 깨끗한 화면을 보실 수 있습니다.
그동안 저 항목들이 무지 궁금했는데 속시원하게 해결되는 느낌이네요~
/Vollago
문제는 다중 화면 DPI해상도 지원 시작한 시점부터 지금까지 Windows 기본앱조차 전부 대응하지 못했다는 점이 코미디이긴 하죠ㅋㅋ
@DAZZII님 아마 다중 모니터 이야기를 하신 것으로보아 윈도우10 특정 버전부터 지원하기 시작한 다중 화면 DPI해상도 지원 이야기가 아닐까 싶어요..! 이건 모니터간 DPI해상도가 다를때 앱이 모니터 왔다갔다 할때마다 가변 스케일링 처리되는데 메트로앱 외 지원되는 앱이 거의 존재하지 않아 대부분 강제 확대/축소 처리되는 문제가 있을 뿐더러 Windows 기본앱조차 전부 대응하지 못한 문제도 있긴하죠..! 앱은 메인 모니터로 지정된 DPI해상도 기준으로 켜지다보니 가변DPI 미지원 앱은 모니터 왔다갔다 할때마다 강제 확대 또는 강제 축소되어 표시되게 됩니다. 이 강제 확대/축소도 매끄럽지 않아서 창의 비율이 바뀌는 문제가 간혹 발생하는데 그 때에는 일부 버튼과 항목이 짤리거나 안보이게되는 문제도 있어요 ㅠㅠ