Точки — это абстрактная виртуальная система координат. Цель состоит в том, чтобы вы обычно проектировали и писали код рисования для работы в точках, который будет примерно соответствовать человеческому зрению, компенсируя различную плотность пикселей физического дисплея и обычное расстояние между дисплеем и глазами пользователя.
Точки не имеют надежной связи ни с физическими единицами расстояния (дюймы, сантиметры и т. д.), ни с физическими пикселями дисплея.
Для экранных дисплеев существует как минимум три различных измерения. Например, экран Retina MacBook Pro имеет физические размеры 2880x1800 пикселей. В режиме по умолчанию это отображается на 1440x900 точек, поэтому каждая точка представляет собой квадрат 2x2 пикселя. Вот почему окно в такой системе имеет тот же визуальный размер, что и такое же окно на MacBook Pro без Retina с экраном с физическими пикселями 1440x900, сопоставленными с 1440x900 точками. Окно измеряется в точках и поэтому занимает ту же часть площади экрана. Однако на дисплее Retina больше пикселей, что позволяет отображать более мелкие детали.
Однако возможен еще один уровень сложности. Вы можете настроить эту систему Retina для отображения большего количества контента на экране за счет некоторых деталей. Вы можете выбрать режим отображения 1920x1200 точек. В этом режиме рендеринг выполняется в буфер размером 3840x2400 пикселей. Это позволяет выполнять рендеринг с более высоким уровнем детализации, но сохраняет простоту математики; точки по-прежнему отображаются на квадраты размером 2x2 пикселя. (Эта простая математика также позволяет избежать проблем со швами при рисовании граничащих растровых изображений.) Но 3840x2400 больше, чем число физических пикселей в оборудовании дисплея. Таким образом, этот резервный буфер уменьшается при рисовании на экране до физических 2880x1800 пикселей. При этом теряется некоторая высокая детализация из резервного буфера, но результаты по-прежнему более детализированы, чем при физическом экране 1920 x 1200 или масштабировании рендеринга 1920 x 1200 до физического экрана 2880 x 1800.
Итак, для этой конфигурации:
Размер экрана в точках: 1920x1200
Бэкбуфер в пикселях в оперативной памяти: 3840x2400
Физические пиксели в оборудовании дисплея: 2880x1800
Возможны, конечно, и другие конфигурации:
Размер экрана в точках: 2880 x 1800
Обратный буфер в пикселях: 2880 x 1800
Физические пиксели: 2880 x 1800
Все будет крошечным, но вы сможете разместить много материала (например, много строк текста) на экран.
Размер экрана в точках: 1280 x 800
Обратный буфер в пикселях: 2560 x 1600
Физические пиксели: 2880 x 1800
Фактически все (текст, кнопки и т. д.) будет казаться больше, так как меньше точек сопоставляется с одними и теми же физическими пикселями. . Каждая точка будет физически больше. Обратите внимание, однако, что каждая точка по-прежнему отображается в квадрат 2x2 пикселя в заднем буфере. Как и прежде, резервный буфер аппаратно масштабируется до размеров физического дисплея. На этот раз он немного увеличен, а не уменьшен. (Это масштабирование аналогично тому, как это происходит на ЖК-дисплее, отличном от Retina, когда вы выбираете режим с меньшим количеством пикселей, чем на физическом дисплее. Очевидно, что ЖК-дисплей не может изменить количество имеющихся у него физических пикселей, поэтому другое разрешение достигается путем масштабирования заднего буфера.)
И т.п.
person
Ken Thomases
schedule
18.01.2015