32

У меня ноутбук с родным разрешением экрана 2560 * 1440. Это означает, что он имеет 2560 точек по горизонтали и 1440 пикселей по вертикали.

Я также могу заставить систему отображать экран с разрешением 1280 * 720 (что составляет 1/4 пикселя по сравнению с 2560 * 1440). что заставляет систему использовать 4 собственных пикселя для отображения 1 пикселя изображения.

                   .    .
    .       -> 
                   .    .
[2560*1440]      [1280*720]

Аналогичный эффект, когда я сохраняю разрешение экрана на 2560 * 1440 и увеличение 200%. то есть, чтобы отобразить каждый пиксель изображения, экран использует 4 собственных пикселя.

Тем не менее я вижу разницу в четкости экрана между двумя настройками. Пожалуйста, смотрите ниже снимок экрана двух

экран с разрешением 2560 * 1440 с зумом 200%

экран с разрешением 1280 * 720 (без увеличения)

Может кто-нибудь объяснить причину этой разницы в ясности?

3 ответа3

77

Похоже, что вы имеете в виду «масштабирование 200%» в некоторых настройках ОС.

Когда вы используете 1280 * 720, все отображается в этом разрешении, а затем масштабируется как растровое изображение (вашим монитором). Окончательное изображение действительно состоит из блоков 2x2 пикселей.

При использовании разрешения 2560 * 1440 с масштабированием 200% каждый объект сначала масштабируется, а затем отображается в полном разрешении. С растровым изображением это может не иметь значения, но объекты, такие как шрифты TrueType или векторная графика, масштабируются "плавно", они могут изменять каждый доступный пиксель отдельно. В результате полученное изображение не обязательно образует блоки размером 2х2 пикселя на экране, как в первом случае.


пример

  1. Начнем с низкого разрешения 4х4:

    grid4

  2. Мы рисуем объект, описанный как «верхний левый правый треугольник, 4x4, черный»:

    треугольник4 на сетке4

  3. Монитор получает указанное выше растровое изображение и масштабирует его до исходного разрешения 8x8, поэтому каждый исходный пиксель становится блоком пикселей 2x2:

    треугольник4 масштабируется

  4. Теперь давайте используем разрешение 8x8 с самого начала:

    grid8

  5. Мы рассматриваем объект, описанный как «верхний левый правый треугольник, 4x4, черный»:

    треугольник4 на сетке8

  6. Но мы говорим ОС использовать 200% зум. ОС пересчитывает объект и получает «верхний левый правый треугольник, 8x8, черный»:

    trinagle8 на сетке8

    Затем он отправляется на монитор и отображается.

Сравнение:

треугольник4 масштабируется trinagle8 на сетке8

Обратите внимание, что если бы у нас был только исходный треугольник 4x4 в качестве растрового изображения, конечный результат был бы таким же, как левый выше, независимо от того, было ли масштабирование выполнено ОС или монитором. Математическое описание треугольника позволило ОС пересчитать его в новые измерения и получить плавное изображение в конце.

В современных операционных системах многие элементы графического интерфейса, шрифты и т.д. Доступны в виде "математических описаний", которые можно плавно пересчитать в заданные размеры (масштаб). Общий термин - векторная графика.

7

В дополнение к превосходному ответу Камиля (графика и текст будут прорисованы с улучшенным разрешением и, следовательно, выглядят лучше), MacOS и iOS фактически позволяют разработчику использовать различные графические объекты в зависимости от разрешения экрана. На увеличенном дисплее вы можете использовать иллюстрацию с дополнительными деталями, которые не будут читаться на дисплее низкого качества, и использовать иллюстрацию с меньшим количеством деталей для экранов низкого качества.

Например, в текстовом редакторе у вас может быть значок для создания нумерованных списков. На экране высокого разрешения этот значок содержит крошечные цифры 1, 2, 3, которые почти читабельны. Если уменьшить его до экрана с низким разрешением, это будет просто размытие, поэтому для низкого разрешения используется нарисованный вручную значок с более низким разрешением.

2

Ваше первое изображение имеет 2511x1151 пикселей. Шрифты четко отображаются с полным разрешением, а не с половинным разрешением, поэтому ваш «200% -й масштаб» касается только масштаба рендеринга, а не его содержимого (если, конечно, контент доступен только в виде растрового изображения в исходном разрешении), Ваше изображение лучше, чем вы ожидали.

Теперь, предполагая, что мы масштабируем предварительно обработанный контент (я могу сделать это на своем рабочем столе с помощью ALT-прокрутки, а не CTRL-прокрутки, но не знаю, насколько распространенным может быть это на рабочих столах, кроме XFCE), вы можете столкнуться с противоположной ситуацией: предварительно представленный контент выглядит хуже, чем в оригинальном масштабе.

В этом случае вы можете увидеть эффекты субпиксельного рендеринга. В двух словах, красный, зеленый и синий подпиксели находятся в немного разных местах, и рендеринг субпикселей включает эту информацию для рендеринга форм, которые немного лучше, чем те, которые отображаются без этого знания. Конечно, при увеличении или печати или просмотре на экране с другими цветовыми характеристиками отношение субпикселей намерения рендеринга больше не действует, и результаты могут выглядеть хуже, чем вы хотели бы.

В некотором смысле, это вариант "блочного" вида при рендеринге на устройстве с более точными прямоугольными пикселями, чем было на предполагаемом устройстве отображения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .