해상도의 독립성
Resolution independence해상도의 독립성은 컴퓨터 화면상의 요소가 픽셀 그리드에 의존하지 않는 크기로 렌더링되어 화면의 [1]해상도에 관계없이 일관된 물리적 크기로 표시되는 그래픽 사용자 인터페이스를 말합니다.
개념.
1978년 Donald Knuth에 의한 조판 시스템 TeX는 컴퓨터 세계에 해상도 독립성을 도입했습니다.의도된 뷰는 어떠한 아티팩트 없이 원자 분해능을 넘어 렌더링될 수 있으며 자동 조판 결정은 원자 지름보다 작은 오차까지 모든 컴퓨터에서 동일하게 보장됩니다.이 선구적인 시스템은 동일한 높은 해상도 독립성 표준의 적합한 글꼴을 제공하는 Metafont라는 해당 글꼴 시스템을 가지고 있습니다.
용어 장치 독립 파일 형식(DVI)은 Donald Knuth의 선구적인 TeX 시스템의 파일 형식입니다.이러한 파일의 내용은 현재 사용되지 않는 매우 높은 해상도에서도 아티팩트 없이 어떤 해상도로도 해석할 수 있습니다.
실행

MacOS
애플은 초기 버전의 MacOS에서 해상도 독립성을 지원했으며, 이는 사용자가 인터페이스를 확장할 수 있는 기능을 포함하는 개발자 도구 Quartz Debug를 통해 입증될 수 있었다.그러나 일부 아이콘(시스템 기본 설정 등)이 표시되지 않고 사용자 인터페이스 요소가 홀수 위치에 표시되며 특정 비트맵 GUI 요소의 크기가 원활하게 [2]조정되지 않는 등 기능이 불완전했습니다.확장 기능이 완료되지 않았기 때문에 macOS의 사용자 인터페이스는 해상도에 의존했습니다.
2012년 6월 11일, Apple은 해상도 2880×1800 또는 5.2메가픽셀의 2012 MacBook Pro를 출시하여 두 [3]차원 모두에서 픽셀 밀도를 두 배로 높였습니다.MacOS 버전을 탑재한 노트북은 사용자 인터페이스를 기존보다 2배 더 크게 확장할 수 있도록 지원합니다.이 기능은 macOS에서는 HighDPI 모드라고 불리며 고정 스케일링 팩터 2를 사용하여 고DPI 화면의 사용자 인터페이스 크기를 늘립니다.또한 애플은 사용자 인터페이스를 노트북에 내장된 기본 해상도보다 높거나 작은 해상도로 렌더링하고 출력을 노트북 화면으로 확장함으로써 UI 확장을 지원했습니다.이 접근방식의 분명한 단점은 UI를 네이티브 해상도보다 높게 렌더링할 때의 퍼포먼스가 저하되거나 네이티브 해상도보다 낮게 렌더링할 때의 흐릿함이 증가한다는 것입니다.따라서 macOS의 사용자 인터페이스는 이 방식을 사용하여 확장할 수 있지만 UI 자체는 해상도에 의존하지 않습니다.
Microsoft Windows
Windows의 GDI 시스템은 픽셀 기반이므로 해상도에 의존하지 않습니다.UI를 확장하기 위해 Microsoft Windows는 Windows 95 [4]이후 제어판에서 커스텀 DPI를 지정할 수 있도록 지원했습니다(Windows 3.1에서는 드라이버 정보 파일에 따라 DPI 설정이 화면 해상도에 연결됩니다).커스텀 시스템 DPI 를 지정하면, operating system에 짜넣어진 UI 가 스케일 업 됩니다.또한 Windows에는 애플리케이션 개발자가 적절하게 확장할 수 있는 애플리케이션을 설계할 수 있는 API가 포함되어 있습니다.
Windows XP 의 GDI+ 에서는 해상도에 의존하지 않는 텍스트[5] 렌더링이 추가되고 있습니다만, Windows XP 이전 버전의 UI 에서는, 그 시간대에 고해상도와 고픽셀 밀도의 디스플레이를 사용할 수 없었기 때문에, DPI 를 완전하게 인식할[6] 수 없습니다.Windows Vista 및 Windows 7은 DPI가 높을수록 확장성이 향상됩니다.
Windows Vista 에서는, 매니페스트 파일 또는 API [7][8]를 사용해 프로그램이 높은 DPI 를 인식하고 있는 것을 OS 에 선언하는 서포트도 추가되고 있습니다.DPI 인식 프로그램이 아닌 경우 Windows Vista는 DPI 가상화라는 호환성 기능을 지원하므로 시스템 메트릭과 UI 요소가 96 DPI에서 실행 중인 것처럼 애플리케이션에 표시되고 데스크톱 창 관리자가 DPI 설정에 맞게 응용 프로그램 창을 조정합니다.Windows Vista 에서는, Windows XP 스타일의 확장 옵션이 유지되고 있습니다.이 옵션을 유효하게 하면, 모든 애플리케이션의 DPI 가상화(블러리 텍스트)가 무효가 됩니다.
Windows Vista 에는, Windows Presentation Foundation 도 도입되어 있습니다.WPF 애플리케이션은 픽셀 베이스가 아닌 벡터 베이스이며 해상도에 의존하지 않도록 설계되어 있습니다.
Windows 7 에서는, 완전한 재기동이 아니고, 로그 오프만을 실시해 DPI 를 변경하는 기능이 추가되어 유저 마다의 설정이 됩니다.게다가 Windows 7 에서는, 유효 해상도가 1024 x 768 미만인 경우를 제외하고, EDID 로부터 모니터의 DPI 를 읽어, 모니터의 물리 픽셀 밀도에 맞추어 DPI 값을 자동적으로 설정합니다.
Windows 8에서는 DPI 변경 대화상자에 DPI 스케일링 비율만 표시되고 원시 DPI 값 표시는 [9]삭제되었습니다.Windows 8.1 에서는, DPI 가상화를 무효로 하는 글로벌 설정(XP 스타일의 스케일링만 사용)이 삭제됩니다.[9]픽셀 밀도가 120PPI(125%)를 넘는 경우, EXE내에 DPI 대응 플래그(매니페스트)를 설정하지 않고, 모든 애플리케이션에 대해서 DPI 가상화가 유효하게 됩니다.Windows 8.1에는 애플리케이션의 [9]DPI 가상화를 사용하지 않도록 설정하는 애플리케이션별 옵션이 있습니다.Windows 8.1 에서는, 디스플레이 마다 자동적으로 계산되지만, 각 디스플레이에 독자적인 DPI 설정을 사용하는 기능도 추가되고 있습니다.Windows 8.1 에서는, 유저가 애플리케이션의 DPI 가상화를 강제적으로 유효하게 하는 것을 방지합니다.따라서 응용 프로그램이 DPI 인식이라고 잘못 인식되면 8.1의 고DPI 디스플레이에서는 응용 프로그램이 너무 작아 보이고 사용자가 [10]이를 수정할 수 없습니다.
Windows 10 에서는, 개개의 모니터에 대해서 DPI 를 수동으로 제어할 수 있습니다.또, Windows 10 버전 1703 에서는, 「System (Enhanced)」옵션으로 XP 스타일의 GDI 스케일링이 실현됩니다.이 옵션은 GDI+의 텍스트 렌더링을 고해상도로 다른 요소의 일반적인 스케일링과 결합하여 일반 "시스템" 가상화 [11]모드에서보다 선명하게 표시할 수 있도록 합니다.
안드로이드
Android 1.6 "Donut"(2009년 [12]9월) 이후 Android는 여러 화면 크기와 밀도를 지원했습니다.Android는 160dpi 화면에서 1개의 물리적 픽셀로 정의되는 밀도에 의존하지 않는 픽셀 또는 "dp"를 통해 레이아웃 치수와 위치를 표현합니다.실행 시 시스템은 사용 [13]중인 화면의 실제 밀도에 따라 필요에 따라 dp 유닛의 스케일링을 투명하게 처리합니다.
기본 비트맵을 만드는 데 도움이 되도록 Android는 화면 크기와 밀도에 따라 리소스를 분류합니다.
X 윈도 시스템

X11 시스템용 글꼴 렌더링 라이브러리인 Xft 라이브러리의 dpi 설정은 기본 75입니다.이것은 단순히 fontconfig로 FC_DPI 시스템을 둘러싼 래퍼일 뿐이지만 Xft 기반 응용 프로그램에서 텍스트를 확장하기에 충분합니다.이 메커니즘은 데스크탑 환경에서도 검출되어 독자적인 DPI를 설정할 수 있습니다.보통은 EDID 기반과 연계되어 있습니다.Xlib 함수의 DisplayWidthMM 패밀리.후자는 Xorg Server 1.7에서는 효과가 없습니다.이후 EDID 정보는 XRandR에만 [14]노출됩니다.
2013년 GNOME 데스크톱 환경은 그래픽스 스택의 다양한 부분에서 해상도를 독립시키기 위한 노력("hi-DPI")을 시작했습니다.개발자인 Alexander Larsson은 처음에[15] GTK+, 카이로, Wayland 및 GNOME 테마에 필요한 변경에 대해 썼다.GUADEC 2013에서의 BoF 세션의 마지막에, GTK+개발자 Matthias Clasen은 카이로에서의 작업이 완료되면 GTK 3.10에서[16] hi-DPI 지원이 "매우 완성될 것"이라고 언급했습니다.2014년 1월 현재 Clutter 및 GNOME Shell에 대한 hi-DPI 지원은 [17][18][19][20]진행 중입니다.
Gtk는 모든 UI 요소를 정수 인수로 스케일링하고 모든 텍스트를 음이 아닌 실수 인수로 스케일링할 수 있습니다.2019년 현재 UI의 스케일 업과 다운에 의한 부분적인 스케일링은 [21]실험적인 것입니다.
다른.
진정한 해상도의 독립성과 관련이 없지만 일부 다른 운영 체제에서는 변경된 글꼴 크기에 적응할 수 있는 GUI를 사용합니다.Microsoft Windows 95 이후에서는 Marlett TrueType 글꼴을 사용하여 일부 창 컨트롤(닫기, 최대화, 최소화, 핸들 크기 조정)을 임의의 크기로 확장했습니다.버전 2.04(1991)의 AmigaOS는 윈도우 컨트롤을 임의의 글꼴 [failed verification]크기에 맞출 수 있었다.
비디오 게임은 해상도에 의존하지 않는 경우가 많습니다.초기 예로는 2D 콘텐츠를 그리기 위해 폴리곤을 사용하다가 나중에 훨씬 높은 해상도로 동일한 폴리곤을 사용하여 리메이크된 DOS가 있습니다.3D 게임은 프레임마다 원근도가 계산되므로 해상도에 의존하지 않습니다.
「 」를 참조해 주세요.
- 어도비 일러스트레이터
- 코어 드로
- 다이렉트2D
- PostScript 표시
- 히메트릭
- 잉크스케이프
- 페이지 줌
- 응답성이 뛰어난 웹 설계
- Retina 디스플레이
- 스케일러블 벡터 그래픽스
- 구성
- 트위프
- 벡터 기반의 그래피컬 사용자 인터페이스
- 벡터 그래픽스
레퍼런스
- ^ Carmody, Tim. "Will Resolution Independent Interfaces Ever Come to the Mac?". Wired. ISSN 1059-1028. Retrieved 2022-05-06.
- ^ Apple (April 29, 2005). "Resolution Independent UI Release Notes for Mac OS X v10.4". Apple Developer Connection. Retrieved 2007-03-25.
- ^ Anand Lal Shimpi (June 11, 2012). "MacBook Pro Retina Display Analysis". AnandTech. Retrieved 2012-06-12.
- ^ Windows에서 96 DPI는 어디서 오는 건가요?
- ^ GDIPlus와 GDI를 사용하여 그릴 때 텍스트가 다르게 표시되는 이유
- ^ Windows XP 및 Windows 2000은 기본적으로 고DPI 화면을 지원하지 않습니다.
- ^ "Win32 SetProcessDPIAware Function".
- ^ "Windows Vista DPI Settings". 10 December 2006.
- ^ a b c Windows의 높은 DPI 설정
- ^ "Scaling Windows - The DPI Arms Race - Print View".
- ^ "Improving the high-DPI experience in GDI based Desktop Apps". Windows Developer Blog (MSDN). 19 May 2017. Retrieved 20 February 2020.
- ^ "Android 1.6 Platform Highlights".
- ^ "Screen compatibility overview".
- ^ "Bug #589485 "Ignores physical display size and calculates based ..." : Bugs : xorg-server package : Ubuntu". bugs.launchpad.net.
- ^ "HiDPI support in Gnome – Alexander Larsson".
- ^ "GTK+ meeting notes Goings on".
- ^ "ThreePointNine/Features/Hidpi - GNOME Wiki!".
- ^ "Bug 705915 – Support high dpi displays".
- ^ "Bug 705410 – hi-dpi support: Scale UI".
- ^ "Bug 705411 – hi-dpi support: Scale window decorations".
- ^ "How To Enable HiDPI Fractional Scaling For Wayland Or X11 On Ubuntu 19.04 Disco Dingo". Linux Uprising Blog.