High DPI 해상도

 

이 블로그의 좋은 점 중에 하나는 댓글이나 메일에서, 주제에 대한 세부 사항정보와 데이터에 대해 좀 더 깊이 있게 이야기할 수 있는 점입니다. 여러분의 질문이나 의견에 대해 보다 깊이 설명할 수 있어서 매우 즐겁습니다. 이 글은 고 DPI해상도 응용 프로그램의 호환성, 다양한 경우에서의 가독성에 관한 전반적인 문제에 대한 댓글에 대해 다루겠습니다. 데스크톱 그래픽 팀의 프로그램 관리자 - Ryan Haveson 이 그래픽과 Windows7의 관계에 대해 좀 더 자세하게 설명하겠습니다. --Steven

Windows7 플래닝을 시작했을 무렵, 디스플레이에 대한 사용자 데이터를 조사를 하면서 매우 흥미로운 (그리고 놀랄 만한) 사실을 발견했습니다. 거의 과반수의 사용자가 사용하는 PC 설정을 최대 화면 해상도를  하지 않았다는 사실입니다. 아래의 표는 이전 문서에서 Christina가 다뤘던 Windows Feedback Program에서 얻은 데이터입니다.

image_thumb

사용자가 왜 저해상도로 설정했는지 명확히 파악할 수 있는 방법은 없습니다. 그러나 우리가 본 많은 댓글 「고해상도 디스플레이에서는 기본텍스트를 가독성이  때문에 저해상도를 사용한다」은 우리의 가설과 일치합니다. 또는 우연히 이런 설정이 된 경우의 사용자도 있을지 모릅니다. 예를 들면, 디스플레이 드라이버가 맞지 않거나 또는 어떤 이유로 응용 프로그램의 해상도를 변경하여 원래대로 돌아가지 않는 경우를 있을 수 있습니다. 어떤 이유에서 화면 해상도가 낮아졌든, 결과적으로 희미해진 텍스트가 표시됩니다. PC 화면에서 장시간 이러한 텍스트를 읽으면, 눈이 많이 피곤해 집니다. LCD 디스플레이의 경우, 텍스트가 희미해지는 주요 원인은 LCD가 고정 픽셀로 구성되어 있기 때문입니다. 이것은 네이티브가 아닌 해상도 설정에서는 시스템이 고정 단위에서 단편적인 픽셀을 표시해야 하는 것을 의미합니다. 희미하게 보이는 다른 이유는 디스플레이가 네이티브 해상도로 설정되지 않은 경우, ClearType text rendering technology 가 올바르게 적용되지 않는 경우입니다. ClearType 텍스트는 많은 (모두는 아니지만) 사용자가 선호합니다. 흥미로운 것은 CRT 디스플레이의 경우, 화면 해상도 변경에 의한 충실도 저하가 LCD 디스플레이만큼 강조되지 않는 것입니다. 왜냐하면, CRT 디스플레이는 LCD 디스플레이와 같이 고정 픽셀을 가지고 있지 않기 때문입니다. 단지, LCD 디스플레이는 크기나 비용면의 장점, 노트북 PC 인기 등의 이유로 설치 기반에서 재빨리 시장 점유를 획득했습니다. 네이티브가 아닌 화면 해상도에서 실행하는 또 하나의 문제는 많은 사용자가 부주의로 디스플레이를 네이티브가 아닌 비율로 설정되는 경우입니다. 이것에 의해, 이미지가 불명확해지고, 뒤틀려 보입니다.  이렇게 되면  눈의 피로가 더 커집니다.

문자 이외의 이러한 시나리오에서는 미디어에 대한 재현 정확도도 현저하게 저하됩니다. 많은 사용자가 사용하는 설정에서는 만일 하드웨어가 성능이 된다 해도 각각 1280 x720와 1920 x1080 스크린 해상도에 해당하는 720 p나 1080 p의 고화질(하이 디퍼렌셜 기어) TV 영상을 볼 수 없습니다. PC 모니터는 전통적으로 「고화질」디스플레이 장치였지만, 이 문제에 대한 해결 없이는 TV업계에서 가지고 있던 우위성을 잃어 버릴 위험성이 있습니다.  지금은 약 10%의 사용자만이 실제로 1080 p를 표시 가능한 PC 디스플레이를 가지고 있지만, 디스플레이 가격은 계속 내려가고 설치 기반은 성장을 계속할 전망입니다. 그리고, 사용자가 원하는 고화질 컨텐츠에 대한 다른 변화도 올 것도 확실합니다. 예로서 디스플레이가 400 DPI를 획득했을 때, 그것은 종이에 인쇄된 문자와 외형은 거의 구별이 되지 않을 것입니다. 현재의 170 DPI 정도의 eBook 리더에서도 유리를 통해 보는  종이 정도로 보입니다.

이 예에서 실제  최종 사용자가 활용할 수 있는 이점을 볼 수 있습니다. 실제로는 이 문제를 해결할 수 있는 “High DPI”라 불리는 기존의 Windows  인프라 기술이 있습니다. High DPI는 Windows 7의 새로운 기능이 아닙니다. (초기에도 있던 인프라 기술을 넘었다는 의미에서) Vista까지는 High DPI를 지원하기 위한 OS 사용자 인터페이스에 대해 대규모 투자를 하지 않았습니다. Vista에서 시험해 보세요. 데스크톱에서 오른쪽 클릭을 하고, 개인 설정을 선택하고, 좌측 열에서 「폰트크기(DPI) 조정(J)」를 선택합니다. Windows7에 대한 우리의 생각은 상자에서 꺼내서 바로  High DPI를 이용할 수 있다면, 사용자는 고화질 경험을 이용할 수 있고 스크린의 문자를 읽을 때 눈의 피로도 크게 줄어 들지 아닐까 생각합니다. 디스플레이의 실제 DPI를 검지하는 인프라 기술이 있으므로, 상자에서 꺼낸지 얼마 안된 PC에 대한 기본 설정의 조정으로 바람직한 결과를 낼 수 있습니다. 그러나 이렇게 하면 high DPI 설정에 대해 완전한 호환성이 없는 응용 프로그램 문제가 생길 수 있는 위험성이 있습니다.

또 하나의 문제는 GDI 응용 프로그램이 DPI를 고려하지 않으면 안됩니다. 개발자는 윈도우 프레임, 텍스트크기, 그래픽 버튼, 레이아웃을 DPI 설정에서 지정된 크기 배율 인수에 맞춰 크기 조정을 하도록 하는 코드를 사용해야 하기 때문에 응용 프로그램은 몇 가지의 문제가 있습니다. 대부분은 폰트크기의 불일치, 레이아웃에 관한 사소한 문제 등입니다. 그러나 응용 프로그램에 따라서는 고 DPI 설정으로 했을 경우 문제가 커지는 경우가 있습니다.

(이 문제를)  줄일 수 있는 몇 가지의 대책으로서 예를 들면 DPI를 인식하지 않는 응용 프로그램에 대한 자동 크기 조정 기능과 같은 대책을 Windows에 실행할 수 있지만 이러한 경감 기능에도 문제가 있습니다(이 테마에 관한 Greg Schechter's blog 를 참조하십시오). 자동 크기 조정의 경우, DPI를 인식하지 않는 응용 프로그램은 윈도우 관리자에 의해서 자동적으로 크기 조정이 됩니다. 텍스트 크기는 사용자의 기호 설정에 자동적으로 합쳐지지만, 결과적으로, 그 응용 프로그램의 윈도우에서 문자가 희미해지는 영향도 있습니다. 작은 텍스트를 읽을 수 없는 분들에 대해서 실용적인 high DPI 환경을 구현하기 위해서는 이러한 크기 조정 기능은 필요한 기능입니다. 그렇지만, high DPI에서 크기 조정이 잘된 응용 프로그램만을 사용하는 사용자나 또는 텍스트크기가 잘 맞지 않지만 영향을 그다지 받지 않은 사용자는 결과적으로 자동 크기 조정에 의해 문자가 희미해지는 현상이 생겨, 자동 크기 조정이 보다 불필요한 선택사항이라 판단할 수도 있습니다. DPI를 인식하는 응용 프로그램일지를 OS가 검색할 방법이 없으면 기본 설정을 선택해야 합니다. 그리고 어느 정도의 이점이 있는지, 무엇을 취사 선택해야 하는지의 의문으로 되돌아옵니다. 장기적인 해결 방법은 응용 프로그램이 해상도에 의존하지 않는 것과 응용 프로그램이 사용자 설정에 맞춰 크기 조정할 수 있도록  해야 합니다. 이 때문에는 우리의 도구와 문서의 지원이 꼭 필요입니다. 시간을 들여 어떻게 도착하는지, 전환 중에 얼마나 사용자 편의를 최선으로 하는지를 찾아내는 것이 플랫폼이 해결해야 할 일입니다. 

단기적 vs 장기적인 고객 만족도

장기적으로 생각하면 고화질경험(high fidelity experience)이  중요하다는 것은  High definition TV(고화질 TV)의 모델을 봐도 분명합니다. 문제는 high DPI의 기반이 여러 Windows OS 기반에 걸쳐  존재하지만,  실제로 이러한 환경 설정에서 어느 정도의 응용 프로그램이 테스트 되었는지를 우리가 명확하게 파악할 수 없습니다. (실제, DPI를 인식하는 응용 프로그램의 생성 방법이  2001년도 MSDN 문서에 있습니다. ) 즉, 이 기능을 유효하다고 보고, 보다 광범위한 단기 사용자에 대한 악영향이 수치화 되어 있지 않습니다. 우리가 우선 처음 한일은 발생가능한 장애를 수치화하는 일이었습니다. 우리는 high DPI 설정 때에 응용 프로그램이 어떻게 동작하는지 파악하기 위해, 응용 프로그램 호환성 유효성 검사에서 1,000개가 넘는 응용 프로그램에서 테스트를 실시했습니다. 여기서 확인한 내용을 결과적으로,  1000개 응용 프로그램 이름의 비율을 아래에서 보여줍니다.

한가지 추가하여,우리가 말해야 버그는 소프트웨어가 기대에 어긋나는 동작을 하는 것입니다 ­ 즉, 크래쉬라는 심각한 문제에서, 외형상의 문제까지, 모든 것이 대상이 됩니다. 우리는 이러한 버그를 1~4 단계에서 그 심각성(Sev)을 분류하고 있습니다. Sev1은 정말로 심각한 문제(크래쉬, 데이터 손실, 기능의결핍), 그리고 Sev4는 매우 사소한 현상, 또는 매우 발생률이 낮은 것입니다.

조사 결과, 많은 응용 프로그램은 high DPI에 대해 충분히 동작하는 것을 알 수 있었습니다. 극히 일부의 응용 프로그램에서만 주요 기능에 문제가 있었습니다. 물론 충분히 동작하는 응용 프로그램은 걱정할 필요가 없습니다. 그렇지만 만약 1% 의 응용 프로그램에서 high DPI에 대해 중대한 문제가 있다면, 그것은 중요한 숫자입니다. 그래서 우리는 버그를 조사하여, 발견된 문제를 종류별로 분류하고 있습니다. 다음은 우리가 찾아낸 결과입니다.

image_thumb_1

우리가 찾아낸 것에서 가장 중대한 문제의 하나는 사용자 인터페이스 표시가 누락되는 것입니다.  이것을 좀더 살펴보면, 그러한 경우의 대부분이 화면의 유효 해상도가 지극히 낮을 (800x600 혹은 그것 이하) 때 일어나는 것이 밝혀졌습니다. 이것에 근거하여, 사용자가 그러한 저해상도로 설정하는 경우의 수를 최소화할 수 있도록 설정 화면을 디자인할 수 있었습니다. 우리는 문제의 종류를 하나하나 조사하여, 가능한 경우는 각각의 완화책을 취했습니다. 물론 최선의 완화책은 예방하는 것으로, High DPI는 PDC 나 WinHEC 그 외의 컨퍼런스에서 대해 우리가 개발자 여러분에 대해서 이야기하는 중요한 초점이 됩니다.

전체 vs 개인 사용자 데이터

우리의 조사 중 하나는 몇 명의 사용자가 현재 (Vista/XP) high DPI 를 이용하고 있는지 였습니다. 데이터에 의하면, 매우 적은 비율의 사용자만이 현재 high DPI 기능을 유효하게 사용하고 있습니다. 최종 사용자는 이 기능에 관심이 없는 혹은 필요성이 없다는 명확한 메시지라고 생각한다면 안이한 판단이 될 수도 있습니다. 또 다른 설명으로서는 이용되어 있지 않은 주요 이유가 XP 와 Vista 의 high DPI 에 대한 셸의 지원이 매우 한정되어 있어 이러한 플랫폼에 탑재된 IE 의 각 버전으로 폰트크기가 맞지 않거나 웹페이지 비율이 이상해지는 큰 문제가 있기 때문이라는 견해도 있습니다. 또, Vista 이전부터 이 기능을  사용하는 사용자가 있다는 것도 알고 있습니다. 그리고 다시 우리는 데이터를 해석해야 하기 때문에, 지금 단계에서는 반드시 명백하지는 않습니다.

시기: 이 시기에 이 기능은 시장에서 적합한가요?

다행히, 우리는 하드웨어와 소프트웨어 중 어느 것이 먼저인지와 같은 이른바 “닭과 계란”의 문제를 가지고 있지는 않습니다. 하드웨어는 이미 필드나 마켓에 나와있기 때문에, OS는 단지 그것을 이용할 수 있는지의 문제입니다. 소프트웨어의 관점에서 보면, 많은 소프트웨어 응용 프로그램은 (IE 8 과 같이 개선된 줌 기능을 가진 브라우저 포함) DPI 에 대응되어 있지만, 상당수의 응용 프로그램에서  high DPI 에서 잘 동작하지 않을 가능성이 있습니다. 다른 열쇠가 되는 데이터로서는 LCD 패널의 디스플레이 해상도가 표준 DPI에서는 최대에 이르고 있는 것이 있습니다. 이러한 디스플레이로 1900 x1200를 넘는 해상도로 하는 것은 텍스트가 너무 작아서 아무도 읽을 수 없게 되어, OS의 high DPI 지원 없이는 어렵습니다. 또한 이미 이 해상도에서는 2 메가 픽셀 사진이나 고화질 비디오 (1080p)를 재생할 수 있습니다. 필드에 이미 하드웨어가 존재하는 것, 보다 좋은 경험을 가능하게 할 수 있는 장래성, 그리고 하드웨어가 현재 상태에서는 OS 와 소프트웨어에 의해서 제약된다는 것을 조합하면, 이 건을 논하는 것이 올바른 시기이라고 말할 수 있습니다.

결론

고객 데이터를 조사하는 것은 윈도우 경험을 개선하는 방법을 찾아내는데 도움이 됩니다. 이 경우 우리가 사용자가 디스플레이를 미디어 재생을 위한 고성능 경험을 즐겨, 텍스트를 적절한 크기에 드로잉 시키기 위해서 설정을 간단하게 할 기회가 있는 것을 명확하게 알았습니다.  우리는 언제라도 윈도우 애플리케이션의 에코시스템에 영향을 줄 가능성의 높은 기능에 투자하는 경우, 여러분의 소프트웨어에 대한 투자를 낭비하지 않도록 주의하고 있습니다. 또, 우리는 소프트웨어 개발 기업의 개발자 커뮤니티와 조기에 긴밀히 협업하여, 우리가 제공하는 플랫폼의 가치를 소프트웨어 개발자 여러분이 고객에게 중단없이 제공할 수 있도록 확인 작업을 계속해 갑니다. 현재까지, Microsoft 사내 테스트나 우리가 수집한 데이터가 우리가 무엇인가를 적절히 결정할때, 매우 중요한 데이터입니다. High DPI 는 에코시스템 전체의 협력이 문제 해결에 중요한 역할을 한다는 것을 알려주는 좋은 예입니다. 또, 그것은 사람들이 가지고 있는 문제가 무엇인지 그것을 해결하기 위한 최선의 방법은 무엇인지를 판단하기 위해서, 시장의 고객 데이터를 Microsoft 사내의 테스트와 함께, 어떻게 이용할 수 있는지에 대한 가능성을 보여줍니다.

--Ryan