HiDPI

최근 수정 시각:

1. 개요2. 역사와 원리3. HiPPI? HiDPI?4. Microsoft Windows의 HiDPI 지원
4.1. HiDPI를 지원하는 주요 소프트웨어 목록4.2. HiDPI를 제대로 지원하지 못하는 소프트웨어의 해결책4.3. 기타
5. macOS의 HiDPI 지원

1. 개요[편집]

컴퓨터 화면의 디스플레이에서 몇 배로 더 많아진 픽셀 수만큼 몇 배로 더 선명하게 보여주는 표시 방식.

2. 역사와 원리[편집]

2000년대까지는 수많은 디지털 기기들이 화면에 대한 큰 욕심을 내지 않았었다. 그저 '글씨를 보여 줄 수만 있는' 최소한의 낮은 해상도를 사용해왔던 것이다. 초창기 피처폰과 같은 경우도, 176*220(QCIF+)이나 240*320(QVGA) 등의 낮은 해상도에서 문자를 사용자에게 보여주어서 편의적으로도, 심미적으로도 심각하게 좋지 못한 사용자 경험을 남겼다.[1]

2017년 기준, PC 모니터에 가장 많이 쓰이는 FHD(1920*1080) 해상도는 플래그쉽 스마트폰의 주력 해상도 WQHD(2560x1440)[2]보다 더 낮아졌다. 예외도 있긴 하지만 일반적인 스마트폰보다 일반적인 모니터가 화면에 들어간 점의 개수가 더 줄어들었다. 모니터는 큼직하고, 스마트폰은 손 안에 들어갈 정도로 작은 데도 말이다. 1인치의 길이에 들어가는 픽셀의 개수PPI(Pixels Per Inch)라는 단위로 표기하는데, 당연히 PPI 값은 스마트폰이 모니터보다 월등히 높다. 픽셀이 화면에 훨씬 빽빽히 모여 있으므로, 스마트폰에서는 모니터보다 훨씬 더 선명하게 문자를 나타낼 수 있다.

피쳐폰에서 스마트폰으로 넘어오는 과도기에는 스마트폰도 PPI 및 해상도가 지금보다는 훨씬 낮았고, 특히 800*480 해상도를 가진 4인치대 디스플레이[3]가 많이 쓰였었다. 그러다 2010년대 들어, PPI에 따른 화면의 선명함이 디스플레이의 중요한 미덕으로 떠오르기 시작했다.

이와 같은 스마트폰 디스플레이의 PPI 부문의 품질 경쟁을 촉발한 것은 애플이 2010년에 출시한 iPhone 4였다. 이 때 쓰인 레티나 디스플레이라는 용어는 300 PPI 이상의 화면을 가리키는 말이었고, 실제로 그 선명도는 326 PPI에 달해 다른 스마트폰과 비교가 되지 않는 깔끔하고 선명한 디스플레이의 아름다움을 보여주었다. 이를 기점으로 출시되는 대다수의 스마트폰이 300PPI는 '당연히' 넘겨야 하는 기준선으로 삼기 시작했고, 갤럭시 S7의 경우에는 557 PPI라는 엄청난 선명도를 가진 디스플레이를 담고 나왔다. 참고로, 레티나 디스플레이라는 용어의 정의는 다소 모호해진 상태이다.

이런 고밀도 디스플레이를 컴퓨터 계열에서 보급한 것 역시 애플이었다.[4] 맥북에도 3k급(2880x1800) '레티나 디스플레이'를 탑재하면서 처음으로 컴퓨터 화면을 선명하고 보기 좋게 만드는 데에 성공한 것이다. 운영체제와 기기를 동시에 제작하는 애플이었기에 가능한 일이었고, 이 부분에서는 애플이 몇 년씩이나 우위를 점하고 있다. 아이맥에는 무려 5k(5120x2880) 해상도를 탑재하면서 일체형 컴퓨터 계열에서도 레티나 디스플레이가 탑재되었다.

그러나 윈도우 PC, 특히 윈도우 7 및 이전 버전에서는 아직도 초창기 피처폰 수준과 비슷한 선명도로 화면을 띄우고 있다. 물론 컴퓨터 디스플레이는 스마트폰보다 먼 곳에서 보기 때문에 선명도가 좀 떨어지더라도 큰 지장은 없지만, 시야 거리를 고려하더라도 컴퓨터가 스마트폰에 비할 때 해상도가 너무 낮은 것은 사실이다. 이러한 원인 중에는 PC의 많은 기능이 스마트폰으로 내려오면서 PC가 소홀해진 점도 있다.

윈도우가 운영체제 단에서 삼고 있는 기준은 96 PPI밖에 되지 않는다. 이것은 윈도우 7 또는 이전 버전을 애플 MacBook Pro에 설치할 경우 실감할 수 있다. 작업 표시줄 등 여러가지가 굉장히 작게 보인다. 하지만 윈도우 8.1 이후 본격적으로 고해상도 디스플레이를 위한 HiDPI를 지원하기 시작하면서, 상술된 문제들이 점차 해결되고 있다.

3. HiPPI? HiDPI?[편집]

High DPI를 줄인 말이다.

통상적으로 PPI는 Pixel이라는 단어가 들어가는 만큼 화면에서 쓰이고, DPI(Dots Per Inch)는 인쇄물에서 쓰이는 단위다. 그러나 워낙 비슷한 개념이다 보니 혼동해서 사용하는 경우가 상당히 많았고, 그것이 그대로 반영되어 지금은 HiDPI라는 용어로 굳어졌다. 물론 정확히 구분해서 쓰면 HiPPI라고 해야 되겠지만 이미 이쪽으로 굳어졌다.

4. Microsoft Windows의 HiDPI 지원[편집]

윈도우는 레거시 프로그램과 하위 호환을 어떻게든 끌고 가려는 끈질긴 운영체제다. 출시 20주년을 앞둔 옛날 게임인 스타크래프트가 최신 윈도우에서 아직도 돌아갈 수 있는지 생각해 보자. 호환성을 유지하려고 부단히 노력한 덕택이다. 그러나 그런 옛날 프로그램을 동작시키는 것은 해낼지라도, 고해상도의 고밀도 디스플레이에서 적절한 배율로 늘려 제대로 된 크기로 나타내는 것은 무리였던 것으로 보인다.

화면 상에서, 원래는 a*b 크기였던 오브젝트를 na*nb 크기로 키우는 것을 스케일링(Scaling)이라고 한다. 윈도우의 기본값은 100%(96 PPI)이며, 화면 크기에 비해서 해상도가 높은 경우 화면에 표시되는 프로그램 및 아이콘 등의 오브젝트들이 작게 표시되는데, 이를 보기 편하게 하기 위해서 n배 확대시키는 것이 바로 HiDPI이다.

아래 이미지는 윈도우 8.1에서 200%(192 PPI) 배율을 적용한 모습이다. 우클릭해서 열어보면, 모든 글자들이 일반적인 100% 상황보다 더 부드럽고 자연스러워 보임을 알 수 있다.[5] 윈도우 10에서는 화면 상의 요소들이 더 자연스러워졌다.

파일:200%DPI.png

소위 '프로그램이 깨져 보인다'는 부작용이 일어나기도 하는데, 아주 먼 옛날 프로그램은 의외로 크게 문제가 없고 오히려 10년 전 정도의 근래의 프로그램에서 자주 발생한다. 아주 먼 옛날 프로그램은 이런 고해상도를 전혀 염두에 두지 않고 개발했었기 때문에 OS에서 강제로 확대하면 끝이지만, HiDPI지원의 과도기적인 근래의 프로그램의 경우 HiDPI가 어중간하게 지원한다거나 하여서 오히려 이상하게 표시된다. 그런 경우 버튼이 어딘가로 튀어나가 있거나 글자가 상자를 뚫고 나오기도 한다. 비교적 최신 소프트웨어들에서는 HiDPI 관련 문제가 적은 편이다.

아래는 UHD(3840×2160) 초고해상도 상에서 구동되는 윈도우 10의 200% 스케일링을 사용한 모습이다. 우클릭으로 이미지를 새 탭에서 열어 보자.

파일:200%DPI2.png

윈도우에서 작동하는 프로그램은 HiDPI를 지원하는 걸 세 가지로 분류할 수 있다. 'HiDPI를 제대로 지원하는 것', '어중간한 것', '아예 지원하지 못하는 것'. 이 중에서 어중간하게 지원하는 것이 보통 문제가 된다.

HiDPI를 제대로 지원하는 경우 프로그램은 윈도우의 배율 설정을 제대로 알고 표시하기 때문에 문제가 발생하지 않는다. 아예 지원하지 않는 프로그램의 경우 윈도우에서 배율만큼 크게 표시한다. 단, 강제로 확대해서 표시하는 것이기 때문에 글자가 흐려지는 문제가 있다.[6]

여기서 크게 문제가 되는 어중간하게 지원하는 경우이며, 위에서 설명했지만 사람들이 자주 사용하는 근래의 프로그램이 주로 해당된다. '확대가 안 되는 것', '뭔가 제대로 꼬인 것'으로 다시 분류할 수 있으며, 확대가 안 되는 것은 배율설정을 무시하고 무조건 픽셀에 1:1 매칭되어 표시되는 프로그램이며, 하단에 설명된 HiDPI를 지원하지 않는 앱 설정 방법에 따라서 강제 확대가 가능하기도 하다.

뭔가 제대로 꼬인 것 같은 프로그램은 개발툴[7]이 HiDPI를 제대로 지원하지 않았거나[8], 지원은 하지만 같이 사용한 서드파티 툴이 지원이 안 돼서 섞여 있거나, 개발자가 무시하고 개발하면 발생한다.

당연한 얘기지만, HiDPI를 제대로 지원하는 프로그램의 경우 실제 해상도가 더 높기에 더 깔끔하고 자연스럽게 표시된다. 아직은 HiDPI를 사용할 만한 초고해상도 디스플레이가 점유율을 차지한 지 얼마 되지 않았지만, 시간이 지나면서 초고해상도 화면을 가진 기기들이 눈에 띄게 늘어나고 있다. 삼성 노트북 9 프로델 XPS 15가 대표적이다.

윈도우 한글 폰트로 사용되는 맑은 고딕이 HiDPI를 지원하기에는 적합하지 않다는 의견도 많다. 나눔바른고딕으로만 바꿔도 훨씬 가독성이 좋아진다.

Windows 10 부터는 HiDPI지원을 위한 Awareness 단계가 나뉘어 져 있다.

  • 지원하지 않음: 모든 환경에서 96DPI로 고정된다. 이 환경에서는 비 정수배 스케일링 환경에서 흐릿하게 보이는 효과를 가져온다. Windows 8.1까지는 온전히 시스템의 스케일에 의존하게 된다. Windows 10부터는 이 방식의 어플리케이션은 비트맵 스케일링을 한다.

  • DPI Upscale: Windows 10 1703 RS2 부터 지원된 방식. 기본적으로 100% (96DPI)로 고정되나, GDI 부분을 내부적으로 스케일링 하여 렌더링 하게 된다. DPI Awareness가 없는 어플리케이션에서 효과가 있으나, OpenGL과 같은 외부 뷰포트등의 컴포넌트를 사용하는 경우 올바르게 스케일링 되지 않는다.

  • DPIAware: Windows 8.1 부터 지원된 방식. 이 방식은 얼핏 보면 HiDPI를 잘 지원하는 것으로 보이나, 역으로 저 DPI환경 (e.g: 4K 200% -> FHD 100%)으로 창을 이동하는 경우 내부적으로는 스케일링이 되어 있는것을 다운스케일 함으로서 흐릿하게 보인다.

  • Per-Monitor: 하위 창의 이벤트 처리에 따른 V1과 RS2 부터 지원된 V2가 있으며, 이 방식은 창이 위치한 모니터에 따라 창의 스케일링이 변경될 수 있음을 알린다. 즉 4K 200%에서는 192 DPI로 스케일링되고 표시되며, FHD 100%에서는 96 DPI로 다시 렌더링하게 되어서 가장 이상적인 환경을 볼 수 있다. Qt가 이 방식을 지원하는 것으로 보이지만, 위의 각 모니터간 DPI변경에 따른 이벤트 부분 구현이 완벽하지 않아, 윈도우 핸들 등이 스케일링 되지 않거나 200%렌더링 되어 있는 상태 그대로 이동되는 문제점이 있다.

4.1. HiDPI를 지원하는 주요 소프트웨어 목록[편집]



추가바람

4.2. HiDPI를 제대로 지원하지 못하는 소프트웨어의 해결책[편집]

실행하려는 앱 파일을 우클릭한 뒤, 속성의 호환성 탭에서 '높은 DPI 동작을 재정의합니다.'를 체크하고 '시스템'을 선택하면 된다.

윈도우 10 빌드 15063 이전의 구 버전은 이 방법을 사용해야 한다.

4.3. 기타[편집]

클리어타입을 대체하기 위해서 만들어진 글꼴 렌더링 프로그램인 MacType이 있는데, HiDPI 환경에서 사용하면 글꼴이 상당히 매끄러워져서 보기가 편안해진다. 다만 컴퓨터 성능이 떨어질 수 있으니 주의할 것.

5. macOS의 HiDPI 지원[편집]

[1] 이 당시에는 폰이라는 개념이 단지 전화, 문자만 주고받는 물건이었기에 240*320(QVGA)도 고해상도로 취급되었다. 1920*1080(FHD) 해상도의 스마트폰이 널리 보급되고 2560*1440(WQHD) 해상도의 스마트폰도 자주 쓰이는 2017년 현재 관점에서는 이해하기 어렵다.[2] QHD(Quad HD)라고도 표기하나, qHD(quarter FHD, 960*540)과 혼동할 여지가 있기 때문에 이 표기를 선호하는 경우가 많다.[3] 갤럭시 S(4.0"), 갤럭시 S II(4.3"), 베가 레이서(4.3") 등.[4] 바이오P 등 몇 차례의 시도가 있었지만 여러가지 요소가 겹치면서 실패하거나 전문가용 제품으로 극소수만 팔리던 실정이었다.[5] 참고로 사진을 보면 MacType이 설치되어 있는 것을 알 수 있는데, 이 프로그램을 사용하면 글자를 계단 현상 없이 매끄럽게 표시할 수 있다. 해당 문서 참고.[6] 맥도 HiDPI를 지원하지 않는 앱의 경우 강제로 확대해서 표시된다.[7] 2017년 기준 가장 최신인 Visual Studio 2015도 HiDPI 관련해서 꼬이는 경우가 있다. WPF에 단순 버튼만 나열된 테스트 프로그램임에도 불구하고 제작한 프로그램이 UI 관련해서 문제가 발생했다.[8] 의외로 Windows XP에도 HiDPI 설정이 있었다. 제대로 작동하지도 않는 과도기적 지원이었지만, 그때의 설정도 같이 지원하려고 하다 보니 더욱 문제가 되는 것.[9] CS6까지는 지원하지 않는다.[10] 참고로 Windows 문자표는 기본 프로그램임에도 HiDPI가 적용되지 않아서 흐리게 나온다. Windows 95부터 있었던 오래된 프로그램인 탓이 큰 듯.[11] 스킨을 강제로 확대하는 방식이기 때문에 완벽한 지원은 아니다.[12] 2014 오리지널까지는 지원 자체가 되지 않았으며, 2014 VP와 NEO는 지원하기는 하나 메뉴 아이콘이 깨지고 글꼴이 굴림체로 나왔기 때문에 HiDPI 환경에서 상당한 괴리감이 느껴졌다. 2018에서는 글꼴이 변경되고 메뉴 아이콘도 깨지지 않게 개선되었지만, 여전히 Microsoft Office에 비해서는 뭔가 어색함이 느껴진다.[13] 스킨을 강제로 확대하는 방식이기 때문에 완벽한 지원은 아니다.