Целочисленное масштабирование amd как включить

Что такое масштабирование графического процессора?

chto takoe masshtabirovanie draficheskodo processora

Это особенно полезно при игре в старые игры с исходным соотношением сторон 4:3 или 5:4 на новом мониторе, который имеет более популярное соотношение сторон, например 16:9.

Если вы используете монитор с современным соотношением сторон, например 16:9 или 21:9, но хотите играть в старые игры, основанные на соотношении сторон 4:3 или 5:4, масштабирование графического процессора позволит вам выбрать, хотите ли вы изображение, чтобы оно было растянутым, имело черные полосы по бокам или черную рамку по всему экрану.

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

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

Как включить масштабирование графического процессора?

kak vklyuchit masshtabirovanie draficheskodo processora

Чтобы включить масштабирование графического процессора в вашей системе, оснащенной программным обеспечением AMD Crimson (или более поздней версии) и совместимой видеокартой AMD, выполните следующие действия:

Типы масштабирования GPU

Также есть параметр «Режим масштабирования», с помощью которого вы можете решить, как масштабировать изображение:

Влияние на задержку ввода

Масштабирование графического процессора добавит немного большую задержку ввода из-за дополнительной обработки.

Обычно это доли секунды, что несущественно для видео, но может быть видно во время игр.

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

Источник

Масштабирование ГП AMD что это: включать или нет

В драйверах AMD Настройки Radeon можно найти множество полезных и далеко не всем известных функций. Например, масштабирование ГП или виртуальное сверхвысокое разрешение. Вообще, обновлённый компаньон драйверов получился очень удачным и полезным для пользователей. О встроенных функциях разгона можно написать несколько инструкций.

Эта статья расскажет, что такое масштабирование ГП AMD и стоит ли его включать. В принципе всегда можно включить масштабирование и проверить на практике качество изображения. Сравнив с тем что было можно делать заключение нужно ли его включать или нет.

Что такое масштабирование ГП AMD Radeon

Непосредственно в интерфейсе настроек указывается: Масштабирование GPU обеспечивает более широкий диапазон разрешений и настроек масштабирования, по умолчанию не поддерживаемых дисплеем. При активации данного параметра масштабирование изображений (когда это возможно) выполняется GPU (не дисплеем).

Для его включения достаточно в окне AMD Radeon Settings перейти в раздел Дисплей. Теперь перетянуть ползунок Масштабирование ГП в положение Включено.

Masshtabirovanie GP AMD vklyuchat ili net

После включения которого можно поэкспериментировать с параметром Режим масштабирования. Можно выбрать значение Сохранять соотношение сторон, Полная панель или По центру.

В обновлённом AMD Radeon Software Adrenalin 2020 Edition осталась возможность включения масштабирования ГП. При его включении ГП масштабирует изображение в низком разрешении по размеру экрана. При выключении дисплеи обычно сами масштабируют изображение.

Перейдите в расположение Настройки > Дисплей. Перетяните ползунок Масштабирование ГП в положение Включено.

masshtabirovanie na gp ili displej

Масштабирование ГП AMD включать или нет

Насчёт того стоит включать масштабирование или нет решать только Вам. Всё зависит от нескольких параметров: от самой игры и собственно монитора. Масштабирование ГП помогает оптимизировать изображение в плохо оптимизированных проектах и на старых мониторах.

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

Возможно, в некоторых пользователей не будет функции масштабирования ГП в настройках AMD Radeon. Всё зависит в первую очередь от возможностей установленной видеокарты. Некоторые видеокарты не поддерживают не то что масштабирование, но и установку обновлённых AMD Radeon Settings.

Обновление драйверов в любом случае только повысит производительность системы. Поэтому можете попробовать обновить драйвера видеокарты на Windows 10.

В Интернете конкретно никто не может ответить, что такое масштабирование ГП в настройках AMD и нужно ли его включать. Хорошо, что в программе AMD Настройки Radeon есть описание всех функций. После нескольких часов тестирования можно с уверенностью сказать, что в современных играх и мониторах с классическими разрешениями толку с масштабирования нет.

На широкоформатных мониторах и в не оптимизированных игровых проектах действие функции масштабирования ГП уже более заметно. Она помогает убрать чёрные полосы на некоторых дисплеях. После включения функции масштабирование изображений выполняется GPU графическим процессором, а не самим монитором.

Источник

Как включить целочисленное масштабирование?

Стоит ли включать целочисленное масштабирование?

Целочисленное масштабирование полезно только для ретро-игр с низким максимальным разрешением (многие игры поддерживают только 800×600 или ниже) ИЛИ если вы хотите использовать монитор 4k в качестве монитора 1080p (для игры в современные игры на 1080p требуется меньшая производительность). … Я бы сказал, это зависит от размера вашего монитора.

Как включить целочисленное масштабирование в AMD?

Как включить целочисленное масштабирование на видеокарте AMD

Как включить масштабирование графического процессора?

Чтобы включить масштабирование графического процессора, выполните следующие действия:

Как использовать целочисленное масштабирование Nvidia?

Единственное, что вам нужно сделать, это зайти в Панель управления Nvidia> Настроить размер и положение рабочего стола> Масштабирование> Целочисленное масштабирование> выполнить масштабирование на графическом процессоре, а затем выбрать разрешение масштабирования.

Что такое проблемы целочисленного масштабирования 4-го года обучения?

Проблемы соответствия также известны как задачи целочисленного масштабирования. В национальной учебной программе по английскому языку для 4 класса нас просят «решать более сложные задачи соответствия, например, n объектов связаны с m объектами». Проблемы с корреспонденцией включают умножение или разделение групп сумм в заданных соотношениях.

Стоит ли включать масштабирование графического процессора?

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

Что делает целочисленное масштабирование?

Что такое целочисленное масштабирование? Простая идея целочисленного масштабирования состоит в том, чтобы сохранить внешний вид изображений с низким разрешением, превратив один классический пиксель в сетку из 2×2, 3×3, 4×4 и т. Д. Пикселей, чтобы обеспечить четкое изображение на современных экранах без какого-либо дополнительного размытия.

Что такое целочисленное масштабирование AMD?

Целочисленное масштабирование — это функция, которая масштабирует экранные изображения с низким разрешением от одного до четырех пикселей (или более), чтобы обеспечить четкий, пиксельный вид изображениям, масштабируемым по размеру экрана. … Дополнительная информация об этой функции и поддерживаемых конфигурациях доступна на странице AMD Integer Scaling.

Как изменить масштабирование AMD Radeon на HDMI?

Настройка изображения с помощью масштабирования HDMI

Плохо ли масштабируется GPU?

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

Уменьшает ли масштабирование графического процессора FPS?

Нет. Только разрешение повлияет на ваш FPS.

Как включить режим масштабирования Nvidia?

В большинстве случаев достаточно установить режим масштабирования.

Что такое целочисленное масштабирование Nvidia?

Вот тут-то и пригодятся и Nvidia, и Intel. На GamesCom и Nvidia, и Intel по отдельности представили обновленные драйверы, которые могут масштабировать разрешение на GPU с помощью целочисленного масштабирования. Целочисленное масштабирование звучит довольно очевидно, и это так: выбранное разрешение умножается на целые числа, чтобы соответствовать экрану.

Что такое целочисленная шкала?

Целочисленное масштабирование (IS) — это метод масштабирования ближайшего соседа, который просто масштабирует существующие пиксели с помощью целочисленного (то есть целого числа) множителя. … Таким образом, целочисленное масштабирование особенно полезно для игр с пиксельной графикой, которые полагаются на четкие, блочные изображения, чтобы обеспечить их отличительный вид.

Что такое целочисленное масштабирование RetroArch?

Целочисленное масштабирование — это масштабирование с коэффициентом целого числа, например 2x, 3x, 4x и т. Д. В RetroArch этот параметр масштабирует изображение до максимального целого масштаба ниже установленного разрешения. … Это необходимо для поддержания соотношения пикселей 1: 1 с исходным исходным изображением, чтобы пиксели не дублировались неравномерно.

Источник

Целочисленное масштабирование без размытия
(integer scaling)

Цело­чис­ленное масштаби­рование, или масштаби­рование с цело­чис­ленным коэффи­циентом — способ увеличения изображений без размытия и искажений.

Превращает каждый пиксел в квадратную или прямо­угольную группу из целого количества пикселов одинакового цвета. Предот­вращает потерю резкости в фильмах и трёх­мерных играх при увеличении Full HD до 4K и сохраняет пикселизацию в старых играх и играх на основе пиксельной графики ( pixel art).

Кратко

Проблема

Это происходит из-за размытия, добавляемого всеми мониторами и подавляющим большинством телевизоров при любом масштабном коэффи­циенте, хотя при увеличении в целое количество раз (например, 2 в случае FHD→4K) этого можно избежать.

В результате в фильмах и трёх­мерных играх снижается резкость, белые линии становятся серыми, а пиксельная графика ( pixel art) перестаёт быть пиксельной.

Решение

Можно каждую логическую точку отображать как квадратную группу из целого (2×2, 3×3) количества физических точек одинакового цвета без подме­шивания цветов соседних точек.

Такое масштаби­рование без потерь качества уже встроено в драйверы видео­карт и некоторые программные видео­плееры и устраняет размытие вне зависимости от монитора или телевизора. Но такое пред­вари­тельное масштаби­рование невозможно, если источник сигнала — не компьютер, а, например, аппаратный видео­плеер или игровая приставка.

Кроме того, пред­вари­тельное масштаби­рование впустую расходует пропускную способность видео­интер­фейса (HDMI, DP). Из-за этого могут страдать частота обновления и глубина цвета.

Что делать

Прогресс

Что такое масштаби­рование

Изобра­жение на компьютерных мониторах и телевизорах состоит из пикселов (точек). Количество пикселов по горизонтали и вертикали называется разрешением.

Масштаби­рование — это изменение размеров (разрешения) изображения. Оно необходимо, если физическое разрешение дисплея (монитора или телевизора) отличается от разрешения подаваемого на него видео­сигнала: например, если игра в разрешении 1920×1080 (Full HD) запускается в полно­экранном режиме на мониторе с физическим разрешением 3840×2160 (4K).

Проблема — размытие

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

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

Решение — целочисленное масштаби­рование

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

Такое масштаби­рование без потерь качества известно как integer (integer-ratio, integer-factor, integral) scaling (масштаби­рование с цело­численным коэффи­циентом), pixel-perfect scaling (масштаби­рование с точной привязкой к физическим пикселам), pixel doubling (duplication) (удвоение, или дублирование, пикселов).

Больше, чем интерполяция «По соседним»

Интер­поляция «По соседним» («Ближайший сосед», « Nearest Neighbour») работает без потерь качества только при целочисленных соотношениях размеров резуль­тирующего и исходного изобра­жений, а при дробных соотношениях приводит к искажениям из-за разных размеров результирующих пикселов:

В результате таких искажений одни и те же пикселы движущихся по экрану виртуальных объектов постоянно меняют свои размеры. Это приводит к так называемому дрожанию пикселов ( pixel shimmering, jitter).

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

Например, изобра­жение 1280×1024 можно вывести на экран 3840×2160, отобразив каждый пиксел изобра­жения как группу из 4-х (2×2) одинаковых физических пикселов с чёрными полями по 56 физических пикселов наверху и внизу и по 640 — слева и справа.

Примеры

Пиксельная графика

Различия между билинейной интер­поляцией с размытием и цело­численным масштаби­рованием без потерь качества наглядно видны на примере пиксельной графики, или пиксель-арта ( pixel art):

См. также фотографии одного и того же скриншота программы Reaper, сделанные с исполь­зованием трёх способов масштаби­рования:

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

Сценарии использования

Работа в разрешении ниже физического разрешения дисплея имеет смысл для следующих целей:

возможность на дисплеях 4K+ играть в игры, не рассчитанные на HiDPI-дисплеи:

при масштаби­ровании без размытия:

снижение энерго­потребления и тепло­выделения компьютера:

Почему это важно

Цело­численное масштаби­рование повторением пикселов не требует вычислений и потому работает гораздо быстрее, чем билинейная или бикубическая интер­поляция. Благодаря этому можно:

Ещё важнее с ростом физического разрешения

Чем выше физическое разрешение экрана, тем важнее и эффективнее цело­численное масштаби­рование.

Более высокое физическое разрешение дисплея в общем случае позволяет более полно исполь­зовать площадь экрана при цело­численном масштаби­ровании. Например, при типичном для DOS-игр разрешении 320×240 высота экрана Full HD (1920×1080) заполняется лишь на 89% (используется 960 из 1080 точек, увеличение четырёх­кратное), а на 4K-мониторе высота используется полностью (масштабный коэффи­циент — ровно 9).

Исходное разрешение Разрешение после масштаби­рования Примечание
FHD 4K 8K
Масштаб Потеря высоты Масштаб Потеря высоты Масштаб Потеря высоты
256×224
SNES
4,8 17% 9,64 6,7% 19,3 1,5% На 4K потеря высоты в 2,6 раза меньше, чем на FHD. На 8K — в 4,5 раза меньше, чем на 4K, и в 11,5 раз меньше, чем на FHD
320×240
qVGA
4,5 11,1% 9 0 18 0
640×480
VGA
2,25 11,1% 4,5 11,1% 9 0 Потери высоты на FHD и 4K одинаковы
800×600
SVGA
1,8 44,4% 3,6 16,7% 7,2 2,8% На FHD умещается только при масштабе 100% (без увеличения). На 4K потеря высоты в 2,67 раза меньше, чем на FHD; на 8K — в 6 раз меньше, чем на 4K, и в 16 раз меньше, чем на FHD
1024×768
XGA
1,4 28,9% 2,81 28,9% 5,63 11,1% На FHD умещается только при масштабе 100% (без увеличения). На 8K потеря высоты в 2,6 раз меньше, чем на 4K и FHD

Более высокое физическое разрешение дисплея позволяет ещё полнее исполь­зовать площадь экрана путём исполь­зования логических пикселов с переменным размером с разницей в размере соседних пикселов в 1 физический пиксел. Чем больше физических пикселов в логическом пикселе, тем менее заметна разница в 1 физический пиксел.

Например, для разрешения 256×224, характерного для 16-битных игровых приставок, таких как SNES и Sega Mega Drive (Genesis), на экране Full HD макси­мальный цело­численный коэффи­циент составляет 4 (полный дробный коэффи­циент — 4,82), по умолчанию по вертикали пропадают 184 пиксела, или 17% высоты экрана. Но если увеличить высоту каждого второго логического пиксела на 1 физический пиксел (4×5 вместо 4×4), то потерянная высота сократится в 2,5 раза — пропадут уже всего 72 физических пиксела, или 7% высоты экрана. (Для сохранения соотношения сторон изобра­жения следует дополнительно пропор­ционально растянуть изобра­жение по ширине.)

Однако разница 25% в высоте пикселов в соседних строках на FHD-экране может бросаться в глаза. На 4K-экране относительное увеличение высоты пиксела составляет всего 11% (9×9 → 9×10) — и значительно менее заметно. На 8K-экране в аналогичных условиях разница в высоте пикселов составляет всего 5% (19×19 → 19×20), при этом увеличение высоты пиксела в каждой 4-й строке сокращает потерянную высоту в 8 раз — с 64 до 8 пикселов.

На 8K-экранах при цело­численном масштаби­ровании можно без потерь качества или площади экрана исполь­зовать любое из типичных разрешений, по сути позволяя гибко изменять физическое разрешение экрана:

Более быстрая видео­карта — не решение

В ряде случаев исполь­зование более быстро­дейст­вующего процессора и/или видео­карты не решает проблему:

Частичные решения

Программы масштаби­рования

Для масштаби­рования 3D-игр можно исполь­зовать программу GeDoSaTo (доступен исходный код). Недостатки:

Эмуляторы Glide и DirectX

Эмуляторы игровых приставок и движки для старых игр

SNES (Super Nintendo)

NES (Nintendo, Famicom, Dendy)

Game Boy, Game Boy Advance

Много­системные эмуляторы

Алгоритм цело­численного масштаби­рования в MAME использует пикселы одинакового размера, поэтому при малых масштабных коэффи­циентах соотношение сторон отмасштаби­рованного изобра­жения может не точно соответ­ствовать необходимому, если игре требуется коррекция соотношения сторон ( aspect-ratio correction). Например, в аркадной версии игры « Mortal Kombat 3» (исходное разрешение — 400×254, целевое соотношение сторон — 4:3) на FHD-дисплеях изобра­жение заметно сужено по горизонтали (размер логического пиксела — 3×4 физических пиксела, погрешность — 11,42%), а на 4K-дисплеях нарушение пропорции незаметно (размер пиксела — 7×8, погрешность — 3,34%).

snes.stretch aspect_int
snes.correct_aspect 1
snes.videoip 0

Прочие эмуляторы

Программа ScummVM, современная среда для запуска множества старых игр типа « Broken Sword», начиная с версии 2.1 ( 2019-10-05 ) поддерживает цело­численное масштаби­рование: «Настройки» → «Графика» → «Режим р…гивания» → «Масштаби­рование пиксель- в-пиксель » (« Options» → « GFX» → « Stretch mode» → « Pixel-perfect scaling». Отключить размытие можно снятием галки «Фильтрование графики» (« Filter graphics»).

В оконном режиме доступна также возможность вывода с фиксированными цело­численными масштабами 2x (200%) и 3x (300%) («Настройки» → «Графика» → «Граф. режим») (« Options» → « GFX» → « Graphics mode»), но глобальная настройка применяется только к играм с разрешением не более 320×240, а для игр с более высоким разрешением требуется задавать эту настройку с помощью индивидуального для игры набора настроек: «Настройки игры» → «Графика» → «Перекрыть глобальные установки графики» (« Edit Game» → « Graphics» → « Override global graphic settings»).

Программа формально несовместима с HiDPI (не является DPI-aware), поэтому для гарантии отсутствия размытия и для макси­мального исполь­зования площади экрана рекомендуется отключить DPI-виртуализацию в свойствах её исполняемого файла.

В графи­ческом режиме «OpenGL» программа может пере­ключать 4K-монитор в разрешение Full HD, что может приводить к размытию из-за масштаби­рования средствами монитора или видео­карты. Помогает переключение программы в другой графи­ческий режим — например, «3x».

ScummVM также доступна как ядро libretro, которое можно исполь­зовать с таким оболочками, как RetroArch или BizHawk, в которые встроены собственные реализации цело­численного масштаби­рования.

Виртуализация ОС

В отличие от обычной версии DOSBox, в ECE-версии реализовано полноценное масштаби­рование без использования фильтров, благодаря чему поддер­живается масштаби­рование без размытия в полноэкранном режиме, и масштабный коэффи­циент вычисляется авто­матически и не ограничен малыми значениями (3x в официальных сборках DOSBox).

Пример конфи­гураци­онного файла DOSBox ECE для игры «Epic Pinball»:

[sdl]
fullscreen=true
output=openglpp
glfullvsync=true

[autoexec]
mount C «.»
C:
cd \EPICPIN
PINBALL.EXE
exit

Для запуска DOS-игр можно исполь­зовать другой вариант DOSBox — DOSBox Staging, тоже поддерживающий цело­численное масштаби­рование без размытия на основе реализации от автора патча, который использовался в DOSBox ECE. По сравнению с DOSBox ECE быстро­действие DOSBox Staging несколько ниже.

Пример конфи­гураци­онного файла DOSBox Staging для игры «Epic Pinball»:

[sdl]
fullscreen=true
output=openglpp

[render]
scaler=none
glshader=none

[autoexec]
mount C «.»
C:
cd \EPICPIN
PINBALL.EXE
exit

Пользова­тельские разрешения

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

Необходимые условия

Игра/ эмулятор должен поддер­живать:

Как пользоваться

В панели управления видео­картой:

Пример

Например, если разрешение игры — 320×240, а разрешение экрана — 1920×1080 (Full HD), то макси­мальный цело­чис­ленный масштабный коэффи­циент равен 4, а нужное пользова­тельское разрешение — 1280×960:

320 * 4 = 1280
240 * 4 = 960

Масштаби­рование, встроенное в игры

В некоторые современные игры масштаби­рование без размытия встроено. В основном это характерно для игр на основе пиксельной графики ( pixel art), но встречается и в некоторых трёх­мерных играх.

Просмотр изобра­жений и видео

Встроенные средства Windows

Для оконных программ — экранная лупа Windows (Windows Magnifier). Недостатки:

В Windows 10 для игр с поддержкой псевдо­полно­экранного режима « Borderless» возможно масштаби­рование без размытия с масштабом, равным системному масштабу.

« Borderless» — особый вариант оконного режима, который отличается от обычного оконного режима тем, что использует окно без рамок и заголовочной панели, и вся площадь окна пред­ставляет собой область отрисовки игры. В зависимости от конкретной игры или её настроек такое окно может занимать весь экран без воз­можности задать разрешение в настройках игры, либо иметь фиксированный размер, равный внутриигровому разрешению.

Для масштаби­рования с помощью Borderless-режима:

Например, если для монитора разрешением 3840×2160 (4K) в Windows 10 задан масштаб 200% (коэф­фициент — 2 ), разрешение в настройках игры должно быть 1920×1080 (Full HD):

3840 / 1920 = 2
2160 / 1080 = 2

DPI-режим программ в Windows

К программам и играм, не объявленным как совместимые с HiDPI ( DPI-aware), Windows авто­матически применяет DPI-виртуализацию (DPI scaling). При DPI-вирту­ализации интер­фейс программы увеличивается как растровое (точечное) изобра­жение с коэффициентом, соответ­ствующим системному масштабу. Например, при системном масштабе 200% такие программы увеличиваются вдвое по горизонтали и вдвое по вертикали.

Чтобы предот­вратить размытие или пикселизацию из-за DPI-виртуализации в играх, важно убедиться, что игра работает в HiDPI-совместимом ( DPI-aware) режиме. Определить это легко: размер окна игры в физических пикселах (точках) должен соответ­ствовать разрешению, выбранному в настройках игры. Например, окно игры, работающей в разрешении Full HD, при системном масштабе 200% на 4K-мониторе должно занимать не весь экран, а примерно четверть экрана (половину по горизонтали и половину по вертикали).

Для игр, формально несовместимых с HiDPI, требуется отключить DPI-виртуализацию ( DPI scaling) для исполняемого файла игры, чтобы окно игры имело правильный размер и было свободно от размытия, возможного вследствие масштаби­рования, которое Windows авто­матически применяет к HiDPI-несовместимым приложениям.

Отключить DPI-виртуализацию для отдельно взятой игры можно в свойствах (пункт «Свойства» контекстного меню файла) её исполняемого файла ( *.exe ):

Windows 10 Пункт «Свойства» → вкладка «Совмес­тимость» → секция «Параметры» → кнопка «Изменить параметры высокого DPI» → секция «Пере­определение масштаби­рования с высоким разрешением» → галка «Пере­определите режим масштаби­рования высокого разрешения. Масштаби­рование выполняется» → пункт «Приложение» выпадающего списка. Windows 10 (устаревшие версии) Пункт «Свойства» → вкладка «Совмес­тимость» → секция «Параметры» → галка «Пере­определите режим масштаби­рования высокого разрешения. Масштаби­рование выполняется» → пункт «Приложение» выпадающего списка. Windows 7 Пункт «Свойства» → вкладка «Совмес­тимость» → секция «Параметры» → галка «Отключить масштаби­рование изобра­жения при высоком разрешении экрана».

Чтобы, наоборот, включить DPI-виртуализацию для отдельной игры в Windows 10 для масштаби­рования в border­less-режиме, вместо пункта «Приложение» следует выбрать пункт «Система».

Для некоторых игр, не объявленных как DPI-aware, Windows отключает DPI-виртуализацию авто­матически. Обычно это происходит при первом переключении из полно­экранного режима в оконный.

Телевизоры (ТВ)

Прочее

Zisworks ZWS — наборы для модификации 4K-мониторов и телевизоров — поддерживают цело­чис­ленное масштаби­рование с масштабом до 400%. Заявляется близкая к нулю задержка 30 мкс. Доступны наборы:

Потен­циальные решения

Устройство для масштаби­рования, подключаемое в разрыв между источником видео­сигнала и дисплеем. Преимущество по сравнению с масштаби­рованием средствами видео­драйвера — возможность исполь­зования с любым источником сигнала (например, игровой приставкой или видеоплеером), а не только компьютером. Потен­циальные недостатки:

Существуют похожие устройства:

Возможно, подобное устройство можно реализовать на основе программируемых вентильных матриц FPGA : 1, 2. Есть информация, что для масштабирования до разрешения 4K необходима FPGA-матрица с тактовой частотой не менее 600 МГц.

Что делать

Обычные пользо­ватели

Разработчики игр

Встраивайте цело­численное масштаби­рование в разрабатываемые вами игры.

Алгоритм

Авторский алгоритм цело­численного масштаби­рования. Алгоритм — последовательность действий для достижения нужного результата. Если вас интересует готовая реализация, см. библиотеку Integer Scaling (C++/Rust/ JS/PHP).

Кратко

Без коррекции соотношения сторон

Делим ширину и высоту экрана на ширину и высоту изобра­жения соответ­ственно. У меньшего из результатов отбрасываем дробную часть. Это искомый цело­численный масштаб.

С коррекцией соотношения сторон

Подробно

Если коррекция соотношения сторон изобра­жения не требуется (пикселы квадратные, масштабные коэффициенты по горизонтали и вертикали одинаковы):

Если коррекция соотношения сторон изобра­жения требуется (пикселы потен­циально прямо­угольные, масштабные коэффи­циенты по горизонтали и вертикали потен­циально разные):

Если соотношение MA равно целевому соотношению сторон TA :

Если соотношение MA меньше целевого соотношения сторон TA :

Если соотношение MA больше целевого соотношения сторон TA :

Выравниваем отмасшта­бированное изобра­жение по центру экрана:

Образец реализации

Авторская библиотека Integer Scaling пред­ставляет собой образец программной реализации алгоритма на нескольких языках: C++, Rust, JavaScript, PHP. Библиотека используется, например, в SNES-эмуляторе bsnes-mt.

Пример без коррекции соотношения сторон

Требуется вывести изобра­жение 640×480 (VGA) на экране 1920×1080 (Full HD):

1920 / 640 = 3
1080 / 480 = 2,25

Пример с коррекцией соотношения сторон

Требуется вывести изобра­жение 400×254 с целевым соотношением сторон 4:3 на экране 3840×2160 (4K):

3840 / 400 = 9,6
2160 / 254 ≈ 8,5

Отбрасываем дробную часть у полученных соотношений, получаем макси­мальные цело­численные коэффициенты 9 по горизонтали и 8 по вертикали соответ­ственно.

Умножаем ширину 400 и высоту 254 изобра­жения на 9 и 8 соответ­ственно, получаем ширину 3600 и высоту 2032 области, в которую будет вписано отмасшта­бированное изобра­жение.

Соотношение сторон области 1,77 больше целевого соотношения сторон 4:3 ( ≈ 1,333 ). Поэтому:

Эталонная отрисовка

Изобра­жения ниже показывают, как должны выглядеть результаты цело­численного масштаби­рования без размытия без коррекции соотношения сторон. При правильной реализации цело­численного масштаби­рования результаты масштаби­рования приведённых исходных изобра­жений должны быть идентичны приведённым образцам отмасшта­бированных изобра­жений.

Во избежание влияния искажений, вносимых веб-браузером, рекомендуется сохранить изобра­жения на компьютер и просматривать их сторонней само­стоя­тельной программой в масштабе 100%. Вы также можете скачать все изобра­жения в виде единого архива (55 КБ).

Изображения Масштаб Чёрный фон Примечание
Исходное В масштабе Полный Целоч. Слева +
справа
Сверху +
снизу
320×240
qVGA, 4:3
3840×2160
4K UHD, 16:9
9
900%
480+480 0 Изобра­жение на всю высоту, чёрный фон только слева/справа
640×480
VGA, 4:3
1920×1080
Full HD, 16:9
2,25
225%
2
200%
320+320 60+60
1280×720
HD, 16:9
1920×1080
Full HD, 16:9
1,5
150%
1
100%
320+320 180+180 Идентично режиму центри­рования
1280×720
HD, 16:9
2560×1600
WQXGA, 16:10
2
200%
0 80+80 Изобра­жение на всю ширину, чёрный фон только сверху/снизу
1920×1080
Full HD, 16:9
3840×2160
4K UHD, 16:9
2
200%
0 0 Разрешения кратны, поэтому чёрного фона нет

Пользова­тельский интерфейс

Введение

Простейший интер­фейс для управления масштаби­рованием без размытия может быть пред­ставлен единственной галкой (флажком) «Предот­вращать размытие при масштаби­ровании», включающей цело­численное масштаби­рование без размытия.

Более гибкий вариант — раздельное управление размытием и цело­численностью масштаба. Тогда нужны две настройки:

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

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

Галка + выбор пере­менности размера пиксела

Потен­циально наиболее интуитивно-понятный пользова­тельский интер­фейс мог бы содержать галку (флажок) «Предотвращать размытие при масштаби­ровании».

Включение галки включало бы алгоритм масштаби­рования «По соседним» и одно­временно делало бы доступной дополни­тельную настройку «Размер пиксела» с двумя вариантами на выбор:

«Одинаковый» (без искажений изобра­жения, но возможны чёрные полосы вокруг изображения); «Переменный» (макси­мальное исполь­зование площади экрана ценой некоторых искажений изображения).

Текст в скобках можно было бы отображать уменьшенным шрифтом или динамически отображать как подсказку, появляющуюся при наведении указателя мыши на соответ­ствующий вариант.

Раздельные настройки для фильтрации и цело­численного масштаба

Пользова­тельский интер­фейс мог бы быть аналогичным интер­фейсу RetroArch, в видео­настройках которого есть два булевых (вкл./выкл.) параметра:

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

Такой интер­фейс допускает сочетание размытия с цело­численным масштабом, но на практике это не имеет смысла.

Термины «билинейная фильтрация» и «цело­численный масштаб» могут быть недос­таточно понятны непро­двинутым пользо­вателям.

Два новых пункта в линейном списке режимов масштаби­рования

Можно добавить два новых пункта в сущест­вующий список класси­ческих режимов масштаби­рования («По центру», «Растянуть», «Растянуть с сохранением соотношения сторон»):

Этот вариант пользова­тельского интер­фейса пред­ставляет собой компромисс между понятностью для пользо­вателя и простотой технической реализации интер­фейса.

Вопросы и ответы (FAQ )

Нет, это миф и заблуждение. Важнейший сценарий исполь­зования цело­численного масштаби­рования — запуск совре­мен­ных трёх­мерных (3D) игр в разрешении Full HD на 4K-экране без неоправ­данных потерь качества по сравнению с Full-HD-экраном такого же размера. В обозримом будущем — масштабирование QHD (3x) и 4K (2x) до 8K.

Разрешение ниже физического разрешения экрана может использоваться для повышения быстродействия игр (особенно на ноутбуках) либо в играх, при физическом разрешении экрана работающих неправильно, а также при работе с несов­местимыми с HiDPI программами, для которых DPI-виртуа­лизация ( DPI scaling) в Windows приводит к графическим или функцио­нальным проблемам.

Кроме того, цело­чис­ленное масштаби­рование полезно для предот­вращения потерь качества при просмотре фильмов.

Это то же самое, что « Nearest Neighbour»?

Это не всегда так, а когда так — не обязательно плохо.

У компьютеров много сценариев исполь­зования, во многих из них разрешение 4K даёт преимущество, а быстро­действие не является проблемой:

Да. Более того, игры и видео в разрешении Full HD при цело­чис­ленном масштаби­ровании на 4K-мониторе выглядят даже лучше, чем на мониторе с физическим разрешением FHD, в частности не видна меж­пик­сельная сетка, и почти незаметно мерцание ЖК-дисплеев, связанное с инверсией кристаллов.

Единственный особый случай — суб­пик­сельное сглажи­вание текста, которое работает только при физическом разрешении экрана, т. к. основано на опре­делён­ном взаимном рас­поло­жении суб­пикселов:

Может ли это улучшить качество 1440p на 4K-мониторе?

Нет. Цело­численное масшта­бирование — не волшебная палочка, повышающая качество любого изобра­жения. Оно основано на простом матема­тическом принципе, согласно которому при увеличении изобра­жения в целое количество раз можно просто повторить исходный пиксел без необ­ходимости подме­шивания цветов соседних пикселов и тем самым избежать размытия. Для исполь­зования цело­численного масшта­бирования на разрешении QHD (2560×1440) нужен экран разрешением 5K (5120×2880) или 8K (7680×4320):

5120 / 2560 = 2880 / 1440 = 2,0
7680 / 2560 = 4320 / 1440 = 3,0

При исполь­зовании экрана 4K (3840×2160) макси­мальным логическим разрешением, при котором возможно цело­численное масшта­бирование, является Full HD (1920×1080):

3840 / 1920 = 2160 / 1080 = 2,0

При разрешении QHD соотношение физического и логического разрешений составляет 1,5:

3840 / 2560 = 2160 / 1440 = 1,5

Группы размером 1,5×1,5 пиксела физически невозможны. Макси­мальный цело­численный масштаб составляет 1,0, что эквивалентно обычному режиму центри­рования в масштабе 100% с широкими чёрными полосами вокруг изображения.

То же самое относится к масштаби­рованию HD (1280×720) до Full HD (1920×1080). Для цело­численного масштаби­рования 1280×720 требуется дисплей с разрешением как минимум 2560×1440 (масштаб 200%, пикселы 2×2).

Что лучше: более низкое разрешение без размытия или более высокое — с размытием?

При более низком разрешении, отмасштабированном без размытия (например, FHD→4K), изображение более резкое. При более высоком разрешении, отмасштабированном с размытием (например, QHD→4K), изображение более детализированное, хотя и неизбежно несколько размытое из-за неточного совпадения логических пикселов с физическими.

Цело­чис­ленное масштаби­рование позволяет предот­вратить неоправ­данное размытие, когда соотношение физического и логи­ческого разрешений цело­чис­ленное. Но если быстро­действие компьютера достаточно для исполь­зования более высокого разрешения и игра правильно работает при таком разрешении, может иметь смысл исполь­зовать более высокое разрешение, особенно если качество сглаживания в игре низкое.

Поддержка цело­чис­ленного масштаби­рования видео­картой не противо­речит поддержке со стороны дисплея, и наоборот.

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

Например, при подключении по HDMI 1.x максимальная частота обновления при разрешении 4K составляет 30 Гц, а при разрешении Full HD — 120 Гц. При масштаби­ровании видео­картой частота была бы ограничена теми же 30 Гц, как при настоящем разрешении 4K, даже если логическое разрешение до масштаби­рования — Full HD.

Единственное, что объединяет DSR/VSR и цело­численное масштаби­рование — универсальная виртуа­лизация разрешения, прозрачная для опера­ционной системы и программ и совместимая со всеми полно­экранными программами.

Чем это отличается от « Resolution Scaling»? Функция « Resolution Scaling» (масштаби­рование разрешения), доступная в некоторых играх, пред­назначена для управления масштабом встроенными средствами игры. В отличие от исполь­зования одного из предопре­делённых разрешений, она позволяет более тонко подбирать сочетание детали­зации и быстро­действия: например, если при разрешении 2560×1440 быстро­действие недос­таточно, а при 1920×1080 — избыточно, то можно выбрать в игре разрешение 2560×1440 и с помощью « Resolution Scaling» уменьшить его, например, до 2400×1350. В подавляющем большинстве игр эта функция работает с размытием даже при цело­численном коэффи­циенте масштаби­рования разрешения. Цело­численное масштаби­рование без размытия свободно от потерь качества, вызываемых размытием, и при правильной реализации должно быть совместимо со всеми полно­экранными программами. Чем это отличается от шахматного рендеринга? Как и исполь­зование меньшего разрешения, метод отрисовки « Checkerboard Rendering» (шахматный рендеринг) позволяет повысить быстродействие. Но к масштаби­рованию шахматный рендеринг отношения не имеет: трёх­мерная сцена отрисо­вывается в половинном разрешении путём просчёта пикселов, распо­ложенных в шахматном порядке, затем цвета недостающих пикселов вычисляются усреднением цветов соседних пикселов и/или на основе пикселов преды­дущего кадра. Такой подход подобен черес­строчной развёртке, обычно используемой в теле­вещании для кодиро­вания видео, и позволяет в играх добиться качества, близкого к таковому при отрисовке в полном разрешении (например, 4K), но с почти вдвое более высоким быстро­действием. При цело­численном масштаби­ровании без размытия полноценно просчитываются все пикселы изобра­жения, которое затем увеличи­вается без внесения в него каких-либо изменений и вычисления каких-либо усреднённых цветов.

Прогресс

AMD — поддержка для GCN 2+ под Windows 7/10

В видео­драйвере AMD для Windows цело­численное масштаби­рование без размытия доступно начиная с Radeon Software 2020 (19.12.2) ( 2019-12-10 ) для Windows 7/10. Начиная с версии 20.1.4 ( 2020-01-27 ) устранена проблема, проявлявшаяся в недоступности функции под Windows 7 на некоторых системах. Начиная с версии 21.6.1 ( 2021-06-29 ) поддержка Windows 7 прекращена, последней версией с поддержкой Windows 7 стала 21.5.2 ( 2021-06-21 ).

Включить цело­численное масштаби­рование можно установкой параметра « Integer Scaling» в значение « Enabled» на странице « Display», открываемой выбором одно­имённого пункта меню, открывающегося при нажатии кнопки с пикто­граммой в виде шестерёнки (⚙️) в верхней-правой части окна Radeon Software. Кроме того, можно пере­определить режим масштаби­рования для отдельно взятой игры в свойствах игры на странице « Gaming».

Совместимо с повышением резкости и VSR

Есть информация, что в реализации AMD цело­численное масштаби­рование можно исполь­зовать совместно с повышением резкости (RIS ) и VSR, что наряду с поддержкой видео­карт преды­дущих поколений является преимуществом по сравнению с реализацией nVidia.

Исполь­зование VSR совместно с цело­численным масштаби­рованием потен­циально позволяет, например, полностью исполь­зовать высоту экрана разрешением Full HD при логическом разрешении 320×240 (чистое соотношение — 4,5) ценой некоторого размытия границ пикселов в результате превращения физического разрешения Full HD в виртуальное 4K (соотношение — ровно 9).

Ограничения

Опросы

Реализации функции в драйвере AMD предшествовали два опроса, проводившихся в течение 2019 года. В обоих опросах пункт « GPU Integer Scaling Support» («Поддержка цело­численного масштаби­рования средствами видео­карты») был на первом месте по количеству голосов (около 50% голосов), и количество голосов продолжало расти даже после реализации функции.

AMD — работа по реализации для Linux

Идёт работа по реализации поддержки цело­численного масштаби­рования без размытия в рамках специфичной для графики AMD части ядра Linux.

Intel — поддержка для процессоров Ice Lake (Gen10) под Windows 10

Анонс и статья

Функция доступна с помощью параметра « Retro Scaling» в программе «Центр управления графикой Intel» ( Intel Graphics Command Center). У параметра три возможных значения:

« Scaled width» означает исполь­зование алгоритма масштаби­рования «По соседним», а значение « Fixed width» соответ­ствует сочетанию алгоритма «По соседним» с исполь­зованием только цело­численных масштабных коэффи­циентов для предот­вращения искажений — т. е. собственно цело­численное масштаби­рование ( integer scaling).

Системные требования

Для работы видео­драйвера Intel и программы «Центр управления графикой Intel» требуется опера­ционная система Windows 10 версии 1709 или выше.

Аппаратная поддержка и быстродействие

Видео­ядра Intel начиная с 11-го поколения имеют аппаратную поддержку алгоритма масштаби­рования «По соседним» (« Nearest Neighbour»). Благодаря этому включение масштаби­рования без размытия средствами видео­драйвера Intel не будет оказывать отрица­тельного влияния на быстро­действие.

В видео­ядрах Intel преды­дущих поколений ( 10-го и ниже) аппаратная поддержка « Nearest Neighbour», пригодная для полно­экранного масштаби­рования, отсутст­вовала. Поэтому поддержка возмож­ности для них была бы возможна только на чисто программном уровне, из-за чего реализация была бы нетриви­альной, а быстро­действие — низким.

Поддержка цело­численных и дробных масштабов

Доступны оба варианта масштаби­рования без размытия:

Их можно включить с помощью значений « Fixed width» и « Scaled width» параметра « Retro Scaling» соответственно.

Ограничения

nVidia — поддержка для поколения Turing под Windows 10

Поддержка цело­численного масштаби­рования доступна в Windows-драйвере nVidia начиная с версии 436.02 от 20 августа 2019 года, но только при исполь­зовании видео­карт nVidia поколения Turing (RTX и GTX 16*) и только в Windows 10 начиная с версии 1803 ( Redstone 4) от апреля 2018 года. Под Windows 7 функция недоступна, хотя сам драйвер доступен. Текущая реализация позицио­нируется как экспери­ментальная и имеет бета-статус.

Функция также доступна в видео­драйвере для профессио­нальных видео­карт nVidia Quadro начиная с версии R440 U1 (440.97) ( 2019-10-22 ).

Функция включается выбором пункта «Цело­численное масштаби­рование» (« Integer scaling») в списке «Дисплей» → «Регулировка размера и положения рабочего стола» → «Масштаби­рование» → «Выберите режим масштаби­рования» (« Display» → « Adjust desktop size and position» → « Scaling» → « Select a scaling mode») в панели управления nVidia. При этом для масштаби­рования средствами видео­карты необходимо выбрать пункт «ГП» (« GPU») в выпадающем списке «Выполнить масштаби­рование на» (« Perform scaling on»).

Ограничения

Кроме того, согласно примечаниям к выпуску ( release notes), смена разрешения при сочетании режима цело­численного масштаби­рования с режимом расширенного динами­ческого диапазона (HDR ) может приводить к «падению» системы («синему экрану смерти», или BSOD ) или зависанию компьютера.

Кроме того, согласно официальному комментарию на форуме nVidia, их реализация цело­численного масштаби­рования использует алгоритм «По соседним» (« Nearest Neighbour»), только если разрешение отмасштаби­рованного изобра­жения отличается от разрешения исходного изобра­жения в целое количество раз. Из этого вытекает, что их реализация не использует принудительно цело­численный масштаб, если соотношение разрешения экрана и логического разрешения не целое. Значит, например, 640×480 на дисплее 1920×1080, вероятно, масшта­бируется с размытием, и над и под отмасшта­бированным изобра­жением нет чёрных полос даже при формально включённом цело­численном масштаби­ровании.

Согласно nVidia, несовмес­тимость с HDR и пользова­тельскими разрешениями — непреодолимое фундамен­тальное ограничение програм­мируемого фильтра, исполь­зованного для реализации цело­численного масштаби­рования, и это невозможно исправить как минимум для видео­карт nVidia поколения Turing. Представители nVidia говорят, что цело­численное масштаби­рование невозможно задействовать параллельно с так называемым Scan Out Compositor, используемым, например, для реализации DSR и пользова­тельских разрешений.

Некоторые пользователи сообщают, что им удаётся использовать цело­чис­ленное масштаби­рование параллельно с HDR, пользова­тельскими разрешениями и 4:2:0.

Недоступно для видео­карт преды­дущих поколений

Для видео­карт преды­дущих поколений в Windows-версии драйвера nVidia GeForce функция недоступна. 25 марта 2019 года представитель nVidia сообщил, что реализация масштаби­рования без размытия в видео­драйвере для Windows не планируется, признав при этом, что сам алгоритм тривиален.

В качестве причины называется невозможность такой реализации, которая не потребовала бы постоянного сопро­вождения (« ongoing continuous support») на фоне регулярных изменений WDDM-специ­фикации видео­драйверов в Windows 10.

nVidia — ограниченная поддержка в Linux-драйвере

В видео­драйвере nVidia GeForce для опера­ционных систем Linux, Solaris и FreeBSD начиная с версии 384.47 ( 2017-06-29 ) доступен алгоритм масштаби­рования «По соседним» (« Nearest Neighbour») в рамках функцио­нальности фильтров транс­формации ( transform filter). Включается командой следующего вида:

Результат масштаби­рования может быть меньше физического разрешения монитора. Например, для вывода изобра­жения размером 1280×720 с двукратным увеличением (пикселами 2×2) по центру экрана монитора с физическим разрешением 3840×2160 нужна следующая команда:

Программная реализация и быстродействие

На аппаратном уровне в видео­картах nVidia реализована только билинейная интер­поляция с размытием, поэтому алгоритм масштаби­рования «По соседним» реализован программно и задействует часть вычисли­тельных ресурсов графи­ческого процессора. Теоретически это может несколько снизить макси­мальное быстро­действие видео­карты. На практике быстро­действие примерно одинаково вне зависимости от типа интер­поляции: «По соседним» ( Nearest ) или билинейная ( Bilinear ).

К сожалению, в некоторых играх к серьёзному падению быстродействия приводит сам факт исполь­зования фильтра транс­формации. Например, в игре «F1 2017» в разрешении 1280×720 при исполь­зовании фильтра транс­формации быстро­действие ниже, чем в разрешении 1920×1080 в обычном полно­экранном режиме. При масштаби­ровании игры при её работе в оконном режиме быстро­действие заметно выше, чем при полно­экранном масштаби­ровании средствами фильтра транс­формации, но всё равно ниже, чем в обычном полно­экранном режиме.

Только оконные и псевдо­полно­экранные игры

При этом во многих псевдо­полно­экранных играх функция работает неправильно: изобра­жение отрисо­вывается в разрешении, выбранном в настройках игры (например, 1920×1080), затем масшта­бируется с размытием до разрешения ViewPortOut (например, 3840×2160), затем из него вырезается верхняя-левая или нижняя-левая часть, соответ­ствующая размеру ViewPortIn (например, 1920×1080), и лишь эта часть выводится на монитор.

Проблема не зависит от конкретного окружения рабочего стола ( desktop environment) и проявляется как минимум в Unity (Ubuntu 17.04) и GNOME (Ubuntu 17.10).

Чтобы при работе в оконном режиме была видна макси­мально возможная часть полезного прост­ранства окна игры, можно включить авто­мати­ческое скрытие панели задач ( Dock) в настройках Ubuntu («Параметры» → «Панель задач» → «Авто­матически скрывать панель задач») (« Settings» → « Dock» → « Auto-hide the Dock»), а для авто­мати­ческого скрытия верхней панели исполь­зовать GNOME-расширение Hide Top Bar. Для мини­мизации высоты заголо­вочной панели окна игры имеет смысл переключиться на системный масштаб 100%.

Мышь и разрешение

Сопутствующая проблема — даже если результат отрисовки игры виден целиком, её меню, кнопки и другие элементы управления могут быть недоступны для наведения указателя и щелчков мышью, если не переключиться на нужное логическое разрешение ( ViewPortIn ) в настройках игры до включения Nearest-режима в видео­драйвере.

Это связано с тем, что по умолчанию игра может запускаться в выходном ( ViewPortOut ) разрешении видео­драйвера вместо логического ( ViewPortIn ). Это же может приводить к серьёзному снижению быстро­действия: игра будет сначала отрисовываться в высоком разрешении, затем масштаби­роваться в низкое, а затем — снова в высокое с интер­поляцией «По соседним».

Официальные комментарии nVidia

Один из разработчиков Linux-драйвера Аарон Платтнер ( Aaron Plattner) считает, что проблема не в драйвере, а в том, что игры неправильно трактуют данные, предо­ставляемые программной под­системой RandR.

Проверенные игры

В таблице — результаты проверки некоторых игр в виртуальном разрешении Full HD (1920×1080) на мониторе Dell P2415Q с физическим разрешением 4K (3840×2160) в опера­ционной системе Ubuntu версий 17.10 и 18.04.

Linux — ограниченная поддержка в XRandR

Системная Linux-программа XRandR для управления графи­ческой под­системой позволяет включить масштаби­рование без размытия вне зависимости от произ­водителя графи­ческого чипа. Функция доступна начиная с версии 1.5.1 ( 2019-08-12 ) и включается такой командой:

Увидеть обозначение видеовыхода можно в панели управления видео­картой либо в списке, выводимом командой:

xrandr | grep » connected » | awk ‘< print$1 >‘

xrandr: unrecognized option ‘—filter’

Установка экспери­ментальной версии XRandR

Внимание: установка экспери­ментальных версий фундаментальных системных программ в Linux может повлиять на работо­способность всей системы, отдельных её функций или сторонних программ.

Установить экспери­ментальную версию XRandR можно такой последо­ватель­ностью команд:

git clone git:// anongit. freedesktop. org/ xorg/ app/ xrandr xr
cd xr
./autogen.sh
sudo make install

sudo apt install git
sudo apt install xorg-dev
sudo apt install xutils-dev
sudo apt install autoconf

Только оконные и псевдо­полно­экранные игры

Совмес­тимость с играми и ограничения аналогичны таковым у фильтров транс­формации в Linux-драйвере nVidia: масштаби­рование возможно только для игр, работающих в оконном или псевдо­полно­экранном ( borderless) режиме.

Некоторые игры в псевдо­полно­экранном режиме выводятся в усечённом виде: например, при внутриигровом разрешении Full HD на 4K-мониторе обычно видна нижняя левая или верхняя левая четверть изображения. В полно­экранном режиме видна ещё меньшая часть изобра­жения, т. к. не только часть исходного изобра­жения масшта­бируется до физического разрешения монитора, но и монитор переключается в меньшее разрешение.

Linux — поддержка в Proton

Proton начиная с версии 4.11-10 ( 2019-12-13 ) поддерживает цело­численное масштаби­рование без размытия. Включить можно с помощью пере­менной среды:

Proton — улучшенная версия Wine. Proton используется в функции “Steam Play”, позволяющей запускать Windows-игры в Linux напрямую через программу-клиент Steam без необхо­димости ручной установки и настройки Wine.

По сравнению с фильтрами транс­формации nVidia и масштаби­рованием средствами XRandR, встроенное в Proton цело­численное масштаби­рование потен­циально удобнее:

Мониторы — 4K- и QHD-мониторы Eve Spectrum

Уже реализовано и проверено

Eve Spectrum — первые в мире компьютерные мониторы со встроенным цело­численным масштаби­рованием. Функция уже реализована и работает: проверено вашим покорным слугой.

Аналог LG не поддер­живает цело­чис­ленное масштаби­рование

4K-монитор другого произ­водителя на основе той же ЖК-матрицы — LG 27GN950 — по данным одного из владельцев, не поддер­живает цело­численное масштаби­рование.

23 февраля 2021 года зафик­сирован переход на эту статью со служебного (пред­положи­тельно почтового) сервера LG, что позволяет надеяться, что в LG обратили внимание на цело­чис­ленное масштаби­рование.

Похожие и гибридные способы масштаби­рования

Есть несколько способов масштаби­рования, частично использующих цело­численное масштаби­рование и/или дающих похожие результаты.

Цело­численное по вертикали

Верти­кальный масштабный коэффи­циент цело­численный, горизон­тальный — дробный. Достигаются:

Но по гори­зонтали есть либо искажения (если для горизон­тального масштаби­рования исполь­зуется алгоритм «По соседним»), либо размытие (при билинейной или аналогичной горизон­тальной интер­поляции).

В зависимости от кратности разрешений

При таком подходе применяются разные алгоритмы масштаби­рования в зави­симости от кратности размеров (разрешений) исходного изображения и области, в которую требуется вписать отмас­штабиро­ванное изображение:

Пикселизация с размытием границ пикселов

Пиксели­зованное изображение с физическими пикселами усреднённых цветов на границах логических пикселов. Реализуется алгоритмами « Sharp Bilinear», « Pixellate» и « AANN» (« Anti­Aliased Nearest Neighbour»), дающими слегка различающиеся, но в целом аналогичные результаты.

Sharp Bilinear — двухэтапное масштаби­рование:

Но границы логических пикселов размыты, и чёткость ниже, чем при чистом цело­численном масштаби­ровании.

Шейдеры ( shaders) (подпрограммы постоб­работки изображения, исполняемые на видео­карте) « Sharp Bilinear», « Pixellate» и « AANN» в эмуляторах:

Спасибо Reddit-пользователю stealoverlay за идею использования пользова­тельских разрешений для цело­чис­ленного масштабирования.

Спасибо за полезный и актуальный и грамотно изложенный материал «Цело­численное масштаби­рование без размытия»!
Дамир

Чувак расписал по хардкору про цело­численное масштаби­рование.
Милый дебаркадер

Your article on integer scaling is super useful and is the only resource of its kind on the internet.
Vikram

I had been waiting a long time to find someone who could explain the problem in a way that was easy for people to understand.
Will

Just read your articles and thank you for the brilliant jobs you have done.
Ruixuan

THANK YOU for making such a well-written article on the scaling issues with 4k while providing resources. Thank you for bringing exposure to an issue I feel is important.
Nick

Refer to the article for way more information on the subject than you’d ever want.
NintendoManiac64

Перепечатка любых материалов сайта в любом объёме запрещена

Источник

Adblock
detector