Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Компьютерлік дисплейдің ерекшелігі Резолюция тәуелсіздігі - компьютер экранындағы элементтер пикселдік тордан тәуелсіз өлшемдерде ұсынылады, нәтижесінде экранның ажыратылысына қарамастан, тұрақты физикалық өлшемде көрсетілетін графикалық пайдаланушы интерфейсі пайда болады.
Computer display feature
Resolution independence is where elements on a computer screen are rendered at sizes independent from the pixel grid, resulting in a graphical user interface that is displayed at a consistent physical size, regardless of the resolution of the screen.
Тұжырымдама
1978 жылы Дональд Кнуттың теріп жазу жүйесі TeX компьютерлер әлемінде тәуелсіздікке қол жеткізді. Қалаған көріністі атомдық ажыратылымнан тыс жерде кез-келген артефактілерсіз көрсетуге болады, ал автоматты түрде баспаға шығару шешімдері кез-келген компьютерде атомның диаметріне қарағанда кем қатеге дейін бірдей болуына кепілдік беріледі. Бұл ізашарлық жүйеде тиісті қаріп жүйесі бар, Metafont, ол бірдей жоғары стандартты тәуелсіздікті қамтамасыз етеді. Терминология құрылғысына тәуелсіз файл форматы (DVI) - Дональд Кнуттың ізашарлық TeX жүйесінің файл форматы. Мұндай файлдың мазмұны кез келген шешімде, тіпті қазіргі уақытта қолданылмайтын өте жоғары шешімдерде де, артефактілерсіз түсіндірілуі мүмкін.
As early as 1978, the typesetting system TeX due to Donald Knuth introduced resolution independence into the world of computers. The intended view can be rendered beyond the atomic resolution without any artifacts, and the automatic typesetting decisions are guaranteed to be identical on any computer up to an error less than the diameter of an atom. This pioneering system has a corresponding font system, Metafont, which provides suitable fonts of the same high standards of resolution independence. The terminology device independent file format (DVI) is the file format of Donald Knuth's pioneering TeX system. The content of such a file can be interpreted at any resolution without any artifacts, even at very high resolutions not currently in use.
macOS
Apple MacOS-тың алғашқы нұсқаларында қарапайымдыққа тәуелсіздікті қолдауды енгізді, оны пайдаланушыға интерфейсті масштабтауға мүмкіндік беретін функцияны қамтитын Quartz Debug әзірлеуші құралымен көрсетуге болады. Алайда, бұл мүмкіндік толық емес еді, өйткені кейбір таңбашалар көрсетілмеді (мысалы, Жүйелік параметрлерде), пайдаланушы интерфейсі элементтері тақ орындарда көрсетілді және кейбір битмап GUI элементтері бірқалыпты масштабталмаған. Масштабтау функциясы ешқашан аяқталмағандықтан, macOS пайдаланушы интерфейсі шешімге тәуелді болып қалды. 2012 жылдың 11 маусымында Apple компаниясы 2012 жылғы MacBook Pro-ды 2880×1800 немесе 5,2 мегапиксельдік қарапайымдылықпен ұсынды. Бұл екі өлшемдегі пиксельдік тығыздықты екі есеге арттырды. Ноутбук MacOS нұсқасымен бірге жеткізілді, ол пайдаланушы интерфейсін екі есе үлкен етіп масштабтауды қамтамасыз етті. Бұл мүмкіндік macOS-та HighDPI режімі деп аталады және ол жоғары DPI экран үшін пайдаланушы интерфейсінің өлшемін ұлғайту үшін 2 тұрақты масштабтау коэффициентін қолданады. Apple сонымен қатар пайдаланушы интерфейсін лаптоптың жергілікті ажыратылуынан жоғары немесе кіші ажыратылымда көрсету арқылы және шығысты лаптоп экранға масштабтау арқылы масштабтауды ұсынды. Бұл тәсілдің бір көрнекті кемшілігі - UI-ді жергіліктіден жоғары ажыратылымдықта көрсету кезінде өнімділіктің төмендеуі немесе жергілікті ажыратылымдықтан төмен түсіру кезінде бүктелгендіктің артуы. Осылайша, macOS пайдаланушы интерфейсін осы әдісті қолдана отырып масштабтауға болады, бірақ UI-нің өзі шешімге тәуелсіз емес.
Apple included some support for resolution independence in early versions of macOS, which could be demonstrated with the developer tool Quartz Debug that included a feature allowing the user to scale the interface. However, the feature was incomplete, as some icons did not show (such as in System Preferences), user interface elements were displayed at odd positions and certain bitmap GUI elements were not scaled smoothly. Because the scaling feature was never completed, macOS's user interface remained resolution dependent. On June 11, 2012, Apple introduced the 2012 MacBook Pro with a resolution of 2880×1800 or 5.2 megapixels – doubling the pixel density in both dimensions. The laptop shipped with a version of macOS that provided support to scale the user interface twice as big as it has previously been. This feature is called HighDPI mode in macOS and it uses a fixed scaling factor of 2 to increase the size of the user interface for high DPI screens. Apple also introduced support for scaling the UI by rendering the user interface on higher or smaller resolution that the laptop's built in native resolution and scaling the output to the laptop screen. One obvious downside of this approach is either a decreased performance on rendering the UI on a higher than native resolution or increased blurriness when rendering lower than native resolution. Thus, while the macOS's user interface can be scaled using this approach, the UI itself is not resolution independent.
Microsoft Windows-тың жүйелік жүйесі
Windows-тағы GDI жүйесі пикселге негізделген, сондықтан да тәуелсіз емес. Интерфейсті масштабтау үшін Microsoft Windows 95-тен бастап Басқару панеліне арналған жеке DPI-ді белгілеуді қолдады. (Windows 3.1 жүйесінде DPI параметрі драйвердің ақпараттық файлына байланысты экранның ажыратылымына байланысты). Өзгеше жүйелік DPI келтірілген кезде, операциялық жүйедегі UI масштабы ұлғаяды. Windows сонымен қатар қолданба әзірлеушілерге дұрыс масштабталатын қолданбаларды жобалау үшін API-лерді қамтиды. GDI+ Windows XP-де қарапайым мәтіндік рендерингті қосады, алайда Windows XP-ге дейінгі Windows нұсқаларындағы UI-де DPI-ге деген бейімділік мүлдем жоғары емес, өйткені өте жоғары қарапайымдылықтағы және пикселдік тығыздықтағы дисплейлер сол уақытта қол жетімді емес еді. Windows Vista және Windows 7 жоғары DPI-де жақсы масштабталады. Windows Vista сонымен қатар бағдарламаларға қолдау көрсетеді, олар өздерін жоғары DPI-ге мәлімдейді. Өздерін DPI-ге бейім деп жарияламайтын бағдарламалар үшін Windows Vista DPI виртуализациясы деп аталатын үйлесімділік функциясын қолдайды, сондықтан жүйелік метрикалар мен UI элементтері қолданбаларға 96 DPI-де жұмыс істеп тұрғандай ұсынылады, ал Үстел терезе менеджері нәтижесінде пайда болған қолданба терезесін DPI параметріне сәйкес масштабтайды. Windows Vista-да Windows XP стилі масштабтау опциясы сақталған, ол қосылған кезде барлық қолданбалар үшін DPI виртуализациясын (қаңыр мәтін) өшіреді. Windows Vista сонымен қатар Windows Presentation Foundation-ты енгізеді. WPF қолданбалары пикселге емес, векторға негізделген және ажыратылуға тәуелсіз болып жасалған. Windows 7 тек бір рет қайта жүктеу арқылы емес, тек бір рет қайта жүктеу арқылы DPI-ны өзгерту мүмкіндігін қосады және оны пайдаланушыға арналған параметрге айналдырады. Сонымен қатар, Windows 7 EDID-ден монитордың DPI-ін оқиды және DPI-нің мәнін монитордың физикалық пиксельдік тығыздығына сәйкес автоматты түрде орнатады, егер тиімді ажыратылуы 1024 x 768-ден кем болмаса. Windows 8-де DPI диалогын өзгерту диалогында тек DPI масштабтау пайызы көрсетіледі және DPI бастапқы мәнінің көрсетілуі жойылған. Windows 8.1 жүйесінде DPI виртуализациясын (тек XP стилі масштабтауын пайдалану) өшіру үшін жаһандық параметр алынып тасталды. Windows 10 жеке мониторларға DPI-ны қолмен басқаруды қосады. Сонымен қатар, Windows 10 1703 нұсқасы "System (Enhanced) " опциясы бойынша XP стиліне сәйкес GDI масштабын қайтарады. Бұл опция GDI+ мәтінін жоғары ажыратылымда басқа элементтердің әдеттегі масштабтауымен біріктіреді, сондықтан мәтін әдеттегі "Жүйе" виртуализациялау режимінен гөрі айқын көрінеді.
The GDI system in Windows is pixel based and thus not resolution independent. To scale up the UI, Microsoft Windows has supported specifying a custom DPI from the Control Panel since Windows 95. (In Windows 3.1, the DPI setting is tied to the screen resolution, depending on the driver information file.) When a custom system DPI is specified, the built in UI in the operating system scales up. Windows also includes APIs for application developers to design applications that will scale properly. GDI+ in Windows XP adds resolution independent text rendering however, the UI in Windows versions up to Windows XP is not completely high DPI aware as displays with very high resolutions and high pixel densities were not available in that time frame. Windows Vista and Windows 7 scale better at higher DPIs. Windows Vista also adds support for programs to declare themselves to the OS that they are high DPI aware via a manifest file or using an API. For programs that do not declare themselves as DPI aware, Windows Vista supports a compatibility feature called DPI virtualization so system metrics and UI elements are presented to applications as if they are running at 96 DPI and the Desktop Window Manager then scales the resulting application window to match the DPI setting. Windows Vista retains the Windows XP style scaling option which when enabled turns off DPI virtualization (blurry text) for all applications globally. Windows Vista also introduces Windows Presentation Foundation. WPF applications are vector based, not pixel based and are designed to be resolution independent. Windows 7 adds the ability to change the DPI by doing only a log off, not a full reboot and makes it a per user setting. Additionally, Windows 7 reads the monitor DPI from the EDID and automatically sets the DPI value to match the monitor's physical pixel density, unless the effective resolution is less than 1024 x 768. In Windows 8, only the DPI scaling percentage is shown in the DPI changing dialog and the display of the raw DPI value has been removed. In Windows 8.1, the global setting to disable DPI virtualization (only use XP style scaling) is removed. Windows 10 adds manual control over DPI for individual monitors. In addition, Windows 10 version 1703 brings back the XP style GDI scaling under a "System (Enhanced)" option. This option combines GDI+'s text rendering at a higher resolution with the usual scaling of other elements, so that text appears crisper than in the normal "System" virtualization mode.
X терезесі жүйесі
Xft кітапханасы, X11 жүйесі үшін қаріптерді көрсету кітапханасы, 75 деп белгіленген dpi параметрі бар. Бұл тек fontconfig-тегі FC DPI жүйесінің айналасында ғана, бірақ Xft негізделген қолданбаларда мәтінді масштабтау үшін жеткілікті. Бұл механизмді үстел орталары өздерінің DPI-ін, әдетте, Xlib функцияларының EDID негізделген отбасымен бірлесіп орнату үшін анықтайды. Соңғысы Xorg Server 1.7 бағдарламасында жарамсыз болды; содан бері EDID ақпараты тек XRandR-ге ғана беріледі. 2013 жылы GNOME үстел ортасы графикалық стектің әртүрлі бөліктеріне тәуелсіздік ("hi DPI" қолдауын) енгізуге күш салды. Әзірлеуші Александр Ларссон GTK+, Cairo, Wayland және GNOME тақырыптарында қажетті өзгерістер туралы жазды. GUADEC 2013 BoF сессиясының соңында GTK+ әзірлеушісі Маттиас Класен Каирде жұмыс аяқталғаннан кейін GTK 3.10-да оның DPI қолдауы "қалай толық" болатынын айтты. 2014 жылдың қаңтарынан бастап, hi DPI Clutter және GNOME Shell үшін қолдау жалғасуда. Gtk барлық UI элементтерін бүтін сандық факторлармен және барлық мәтінді теріс емес нақты сандық факторлармен масштабтауды қолдайды. 2019 жылдан бастап, UI-ді масштабтау арқылы масштабтау және одан кейін масштабтау эксперименталды болып табылады.
The Xft library, the font rendering library for the X11 system, has a dpi setting that defaults to 75. This is simply a wrapper around the FC DPI system in fontconfig, but it suffices for scaling the text in Xft based applications. The mechanism is also detected by desktop environments to set its own DPI, usually in conjunction with the EDID based family of Xlib functions. The latter has been rendered ineffective in Xorg Server 1.7; since then EDID information is only exposed to XRandR. In 2013, the GNOME desktop environment began efforts to bring resolution independence ("hi DPI" support) for various parts of the graphics stack. Developer Alexander Larsson initially wrote about changes required in GTK+, Cairo, Wayland and the GNOME themes. At the end of the BoF sessions at GUADEC 2013, GTK+ developer Matthias Clasen mentioned that hi DPI support would be "pretty complete" in GTK 3.10 once work on Cairo would be completed. As of January 2014, hi DPI support for Clutter and GNOME Shell is ongoing work. Gtk supports scaling all UI elements by integer factors, and all text by any non negative real number factors. As of 2019, Fractional scaling of the UI by scaling up and then down is experimental.
Басқа
Шындықта тәуелсіздікке байланысты болмаса да, кейбір басқа операциялық жүйелер өзгертілген қаріп өлшеміне бейімделе алатын графикалық интерфейстерді қолданады. Microsoft Windows 95 және одан кейінгі нұсқалар кейбір терезелерді басқару үшін (жақындату, максимизациялау, минимизациялау, өлшемін өзгерту тұтқалары) кездейсоқ өлшемдерге масштабтау үшін Marlett TrueType шрифтін қолданды. AmigaOS 2.04 (1991) нұсқасынан бастап терезенің басқаруын кез келген қаріп өлшеміне бейімдей алды. Видео ойындар жиі тәуелсіз шешімге ие; DOS-қа арналған Another World-тің алғашқы мысалы, ол 2D мазмұнын салу үшін көпбұрышты қолданды және кейіннен сол көпбұрышты жоғары шешімде қайта жасалды. 3D ойындар шешімге тәуелсіз, өйткені перспектива әр кадрда есептеледі, сондықтан оның шешімін өзгерте алады.
Although not related to true resolution independence, some other operating systems use GUIs that are able to adapt to changed font sizes. Microsoft Windows 95 onwards used the Marlett TrueType font in order to scale some window controls (close, maximize, minimize, resize handles) to arbitrary sizes. AmigaOS from version 2.04 (1991) was able to adapt its window controls to any font size. Video games are often resolution independent; an early example is Another World for DOS, which used polygons to draw its 2D content and was later remade using the same polygons at a much higher resolution. 3D games are resolution independent since the perspective is calculated every frame and so it can vary its resolution.