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해상도 지정을 하면 안티앨리어싱 처리되지 않아 더 깨끗한 화면을 보실 수 있습니다.
덧글