Что такое “Масштабирование ГП” в настройках драйвера видеокарт AMD? Графические настройки в компьютерных играх — подробный разбор Масштабирование разрешения в играх.
Масштабирование отвечает за то, как ваша игра будет выглядеть на экранах разных размеров. Мы можем заставить игру масштабироваться под каждый экран автоматически во время стадии предзагрузки (preload), чтобы нам не пришлось волноваться об этом в будущем.
Масштабирование
В Phaser есть специальный объект scale , которые имеет несколько полезных методов и свойств. Измените вашу функцию preload() так, как показано ниже:
Function preload() { game.scale.scaleMode = Phaser.ScaleManager.SHOW_ALL; game.scale.pageAlignHorizontally = true; game.scale.pageAlignVertically = true; }
scaleMode имеет несколько опций, которые определяют, как Элемент может быть использован для отрисовки графики через скрипты (обычно используется JavaScript). На пример, его можно использовать для отрисовки графиков, делать композиции фото или даже выполнять анимации. Вы можете (и должны) дать альтернативное содержание внури блока . Этот контент будет рендерится в обоих браузерах, в старых которые не поддерживают canvas и в браузерах с отключённым JavaScript.»> будет масштабироваться:
- NO_SCALE — ничего не масштабировать.
- EXACT_FIT — масштабировать с полным заполнением пустого места вертикально и горизонтально, не соблюдая соотношение (aspect ratio).
- SHOW_ALL — масштабирует игру, но сохраняет соотношение, так что картинки не будут искажаться, как в при предыдущем значении. Возможно наличие чёрных полос по краям экрана, но мы все можем с этим жить.
- RESIZE — cоздаёт Элемент может быть использован для отрисовки графики через скрипты (обычно используется JavaScript). На пример, его можно использовать для отрисовки графиков, делать композиции фото или даже выполнять анимации. Вы можете (и должны) дать альтернативное содержание внури блока . Этот контент будет рендерится в обоих браузерах, в старых которые не поддерживают canvas и в браузерах с отключённым JavaScript.»> с доступными шириной и высотой, так что вы можете помещать объекты в игру динамически; это раширенный режим (advanced mode).
- USER_SCALE — позволяет вам делать динамическое масштабирование, подсчёт размеров, масштаб и соотношение самостоятельно; опять же это расширенный режим.
Две другие строчки кода в функции preload() отвечают за вертикальное и горизонтальное выравнивание элемента Элемент может быть использован для отрисовки графики через скрипты (обычно используется JavaScript). На пример, его можно использовать для отрисовки графиков, делать композиции фото или даже выполнять анимации. Вы можете (и должны) дать альтернативное содержание внури блока . Этот контент будет рендерится в обоих браузерах, в старых которые не поддерживают canvas и в браузерах с отключённым JavaScript.»> , так что он всегда будет находиться по центру независимо от размера экрана.
Изменение цвета фона
Мы также можем сделать фон нашего элемента Элемент может быть использован для отрисовки графики через скрипты (обычно используется JavaScript). На пример, его можно использовать для отрисовки графиков, делать композиции фото или даже выполнять анимации. Вы можете (и должны) дать альтернативное содержание внури блока . Этот контент будет рендерится в обоих браузерах, в старых которые не поддерживают canvas и в браузерах с отключённым JavaScript.»> таким, каким захотим, чтобы он не оставался постоянно чёрным. Объект stage имеет свойство backgroundColor для этого. Мы можем изменить значение, используя синтаксис CSS для цветов. Добавьте эту строку после трёх, недавно добавленных:
Game.stage.backgroundColor = «#eee»;
Сравните свой код
Вы можете сравнить весь код из этого урока со своим и поиграть с ним, чтобы понять, как он работает:
Следующее
Мы научились масштабировать нашу игру, так что давайте перейдём к третьему уроку и узнаем, .
IntegerScaler — бесплатная программа для масштабирования игр с целочисленным коэффициентом . Например, в разрешении Full HD (1920×1080) на 4K-мониторе (3840×2160) каждый логический пиксел при этом выводится как квадратная группа из четырёх (2×2) физических пикселов одинакового цвета.
Такое масштабирование без потерь качества может быть полезно как для современных трёхмерных игр, так и для старых игр и игр на основе пиксельной графики (pixel art ). См., например, игры «SimCity 2000» (1993) (собственное разрешение — 640×480), отмасштабированной до 4K с помощью IntegerScaler.
Как пользоваться: переключите игру в оконный режим и нажмите Alt + F11 при активном окне игры. Если Alt + F11 для конкретной игры не срабатывает, сделайте окно игры неактивным, включите отложенное масштабирование с помощью Ctrl + Alt + F11 или пункта «Масштабировать через 5 секунд» меню IntegerScaler и снова сделайте окно игры активным.
См. также Для устранения размытия изображений на веб-страницах используйте расширение для Firefox и Chrome.
Функциональность
Программа имитирует полноэкранный режим для игр, запущенных в оконном режиме. Отмасштабированное изображение выводится по центру экрана. Пространство вокруг изображения заполняется однотонным фоном (по умолчанию чёрным).
Целочисленный масштабный коэффициент, обеспечивающий максимальное заполнение экрана, вычисляется автоматически и пересчитывается при изменении размеров масштабируемого окна при изменении разрешения в игре.
Масштабирование не применяется к развёрнутым (maximized ) окнам.
Масштабирование автоматически выключается при закрытии масштабируемого окна, а также временно выключается при сворачивании масштабируемого окна или его разворачивании на весь рабочий стол и автоматически включается снова при возвращении окна в обычное (не свёрнутое и не развёрнутое) состояние.
Интерфейс
Пользовательский интерфейс программы состоит из двух частей:
- сочетания клавиш (горячие клавиши) для управления масштабированием;
- пиктограмма в области уведомлений (system tray ) с меню.
Сочетания клавиш
Нажатие сочетания клавиш Alt + F11 включает масштабирование для активного в данный момент окна. Повторное нажатие выключает масштабирование вне зависимости от того, какое окно активно.
Нажатие сочетания клавиш Ctrl + Alt + F11 включает масштабирование с задержкой 5 секунд. Это позволяет включить масштабирование даже в играх, блокирующих обработку сторонних сочетаний клавиш при активном окне игры: просто нажмите сочетание клавиш при не активном окне игры и в течение 5 секунд переключитесь на окно игры. Для этой же цели служит пункт «Масштабировать через 5 секунд» меню программы.
Программа также выключает масштабирование при нажатии сочетания клавиш Ctrl + Alt + Delete .
Меню
По щелчку на пиктограмме отображается меню, позволяющее включить масштабирование, просмотреть информацию о программе, перейти по ссылкам на связанные веб-страницы или выйти из программы.
Интерфейс программы поддерживает русский и английский языки, язык выбирается автоматически на основании языка интерфейса операционной системы.
Автомасштабирование
Возможно автоматически применять масштабирование к заданным пользователем играм. Каждая игра задаётся и идентифицируется с помощью полного пути к её исполняемому файлу (*.exe). Такие пути следует указать каждый на отдельной строке в текстовом файле с именем auto.txt в папке IntegerScaler.
Пользовательский интерфейс для редактирования этого списка не предусмотрен, поэтому следует использовать сторонний текстовый редактор типа Блокнота Windows. Не рекомендуется использовать национальные символы в путях к файлам игр, иначе автомасштабирование для соответствующих игр может не работать.
Параметры командной строки
Поддерживаются следующие необязательные параметры командной строки:
Bg ЦВЕТ
Переопределяет цвет фона, заполняющего пространство экрана вокруг отмасштабированного изображения. Поддерживаемые значения:
- gray — серый;
- white — белый;
- произвольный цвет в формате R,G,B (без пробелов), где R , G и B — целые числа в диапазоне 0-255, соответствующие красной, зелёной и синей составляющим цвета соответственно, например, 64,128,192 .
По умолчанию используется чёрный фон.
Clipcursor Ограничивает область движения указателя мыши клиентской областью (областью окна за исключением рамок и заголовочной панели) окна игры. -resize ШxВ Изменяет размеры окна игры так, чтобы клиентская область (область окна за исключением рамок и заголовочной панели) окна имела заданные размеры в формате ШxВ, где Ш и В — нужные ширина и высота в пикселах соответственно. Например, 1920×1080 . Полезно для игр, не изменяющих размер окна в соответствии с внутриигровым разрешением или устанавливающих неправильный размер. -locale ЯЗЫК
Переопределяет язык интерфейса программы. Поддерживаемые значения:
- en — английский;
- ru — русский.
По умолчанию используется язык интерфейса операционной системы, если он русский, и английский язык — в любом другом случае.
Nohotkeys Запускает IntegerScaler с отключением горячих клавиш (сочетаний клавиш). -scale [ЗАДЕРЖКА] Применяет масштабирование через полсекунды после запуска IntegerScaler (если задержка не задана) или с задержкой, заданной в миллисекундах.
В этом примере фон переопределяется в серый, язык интерфейса — в английский, отключаются горячие клавиши и применяется масштабирование спустя 3 секунды (3000 мс) после запуска IntegerScaler:
IntegerScaler_64bit.exe -bg gray -clipcursor -resize 1920×1080 -locale en -nohotkeys -scale 3000
Параметры можно указать в поле «Объект» на вкладке «Ярлык» в свойствах ярлыка (*.lnk) исполняемого файла (*.exe). Создать ярлык можно с помощью пункта «Создать ярлык» контекстного меню исполняемого файла, вызываемого щелчком правой кнопкой мыши на исполняемом файле.
Параметры указываются через пробел после пути к исполняемому файлу программы. Значение параметра указывается через пробел после его названия. Порядок указания параметров не имеет значения. Параметры можно использовать по отдельности, независимо друг от друга.
Разрядность
Для работы программы необходимо использовать её версию, разрядность которой (32 или 64 бит) совпадает с разрядностью Windows.
Отличия от «Экранной лупы»
IntegerScaler выгодно отличается от стандартной Windows-программы «Экранная лупа»:
- отображается только значимая часть окна — без рамок и заголовочной панели;
- пространство вокруг изображения заполняется чёрным цветом, как в полноэкранном режиме;
- изображение автоматически центрируется на экране без нужды в точном позиционировании мыши;
- масштабный коэффициент подбирается автоматически для максимального заполнения экрана.
Совместимость с играми
Информацию о совместимости некоторых игр с оконным режимом и программой IntegerScaler см. в таблице .
Оконный режим
Программа совместима с подавляющим большинством игр, поддерживающих оконный (windowed ) режим, и не работает с играми, запущенными в полноэкранном режиме.
Если в настройках игры не предусмотрено явное переключение между полноэкранным (full-screen ) и оконным режимами, может сработать сочетание клавиш Alt + Enter .
HiDPI-режим
Важно убедиться, что игра работает в HiDPI-совместимом (DPI-aware ) режиме. Определить это легко: размер окна игры в физических пикселах (точках) должен соответствовать разрешению, выбранному в настройках игры. Например, окно игры, работающей в разрешении Full HD, при системном масштабе 200% на 4K-мониторе должно занимать не весь экран, а примерно 1/4 экрана (1/2 по горизонтали и 1/2 по вертикали).
Для игр, формально несовместимых с HiDPI, требуется отключить DPI-виртуализацию (DPI scaling ) в свойствах исполняемого файла (*.exe), чтобы окно игры имело правильный размер и было свободно от размытия, возможного вследствие масштабирования, которое Windows автоматически применяет к HiDPI-несовместимым приложениям.
Отключить DPI-виртуализацию для отдельно взятой игры можно в свойствах её исполняемого файла (пункт «Свойства» контекстного меню файла).
Windows 10
Пункт «Свойства» → вкладка «Совместимость» → секция «Параметры» → кнопка «Изменить параметры высокого DPI» → секция «Переопределение масштабирования с высоким разрешением» → галка «Переопределите режим масштабирования высокого разрешения. Масштабирование выполняется» → пункт «Приложение» выпадающего списка.
Windows 10 (устаревшие версии)
Пункт «Свойства» → вкладка «Совместимость» → секция «Параметры» → галка «Переопределите режим масштабирования высокого разрешения. Масштабирование выполняется» → пункт «Приложение» выпадающего списка.
Windows 7
Пункт «Свойства» → вкладка «Совместимость» → секция «Параметры» → галка «Отключить масштабирование изображения при высоком разрешении экрана».
Мышь
Субъективная скорость движения указателя мыши в играх, использующих системный указатель мыши, может возрастать пропорционально масштабному коэффициенту.
Режим администратора
Для масштабирования игр, запущенных от имени администратора, IntegerScaler тоже следует запускать от имени администратора.
Aero в Windows 7
Для работы масштабирования в Windows 7 необходимо, чтобы был включён режим Aero (DWM composition ). Программа автоматически пытается включить Aero, если он выключен. Windows 8 и выше это не касается — там функция DWM composition включена всегда.
Предыдущие версии доступны через историю версий (см. ниже).
Системные требования
- Windows 7+ (32/64 бит).
- Программа не требует установки или каких-либо дополнительных библиотек.
Отзывы
-
Классная штука, давно хотел подобную возможность. Андрей
-
Отличная вещь, в самом деле рисует один пиксель игры в 4 мониторных.Джек Аллигатор
-
Finally I can easily play my games in FHD on my UHD monitor without getting any headache. It even runs fine with accelerated 3D-Games like Anno 1440, which could run in UHD, but with much too tiny menus, and in FHD of course blury text. It seems to run very well, not even any performance issues so far. Thank you very much!
Passatuner -
Thanks a lot! Works, perfectly and even scales by the amount of times compared to my desktop resolution just to be able to fit the screen as much as it can without breaking aspect ratio! Doom 2 now finally feels as it should on a big screen! Love those huge pixels.HiCZoK
-
So useful in preserving detail in sprite-based games when displaying at higher resolutions. Amazing software, you are doing great work for people who hate the in-built scaling of displays/gpus. Daniel
-
IntegerScaler is really impressive, I’ve been looking for an app that does this for years now. Ben
-
Works really well and the games do look awesome!
Simone
Обзор в Canard PC Обзор IntegerScaler опубликован в выпуске № 395 (июнь 2019 года) французского бумажного журнала «Canard PC». См. также
- « » — статья о сути вопроса, потенциальных и частичных решениях и прогрессе.
- — расширение для Firefox, отключающее размытие у изображений, отображаемых с целочисленным масштабом.
- — исправляет размеры адресной строки и поля поиска в Проводнике Windows 7 при масштабе более 188%.
История версий 2.11 (2019-12-09)
- Поддержка изменения размеров окна игры и ограничения области движения указателя мыши с помощью параметров командной строки -resize и -clipcursor соответственно.
Если зайти в настройки драйвера видеокарты AMD Radeon, то в разделе с параметрами дисплея можно обнаружить опцию “Масштабирование ГП”. У Nvidia кстати тоже есть данная опция, просто называется немного по другому.
По умолчанию данная настройка почти всегда включена. Но для чего же она нужна и когда ее нужно включать?
Для чего служит масштабирование ГП?
Данная опция нужна для автоматической подстройки разрешения изображения, выводимого на монитор тем или иным приложением.
Например, когда вы запускаете ту или иную игру, а по умолчанию в ней выставлено разрешение и соотношение сторон не поддерживаемое вашим монитором, то драйвер видеокарты с включенной опцией масштабирования на уровне графического процессора сам исправит данную ситуацию и максимально оптимизирует вывод изображения, чтобы не только не появлялось , но и чтобы не было черных полос по бокам экрана.
Когда нужно включать масштабирование ГП?
Делать это нужно в тех случаях, когда наблюдаются проблемы с запуском игр, когда на монитор подается сигнал в или же если картинка на мониторе не на
На сайте PC Gamer появился интересный разбор графических настроек в компьютерных играх, где подробно рассказано обо всех популярных инструментах, фильтрах и механизмах обработки изображения. Мы перевели его на русский язык, чтобы вы могли сами настраивать свои игры, избавляться от лагов и любоваться красивой графикой.
Итак, сегодня мы с вами разберемся, что означают те или иные графические настройки в компьютерных играх.
У Nvidia и AMD есть программное обеспечение для автоматической настройки графики согласно техническим характеристикам вашего компьютера. Со своей задачей программы справляются неплохо, но часто ручная настройка приносит куда больше пользы. Все-таки, мы ПК-бояре, у нас должна быть свобода выбора!
Если вы новичок в области игровой графики, это руководство создано специально для вас. Мы расшифруем основные пункты любого меню «Настройки графики» в ваших играх и объясним, на что они влияют. Эта информация поможет вам избавиться от лагов и фризов в любимой игре, не лишаясь красивой картинки. А владельцы мощных компьютеров поймут, как настроить самую сочную и привлекательную графику, чтобы записывать крутые видео и делать зрелищные скриншоты.
Начнем с фундаментальных понятий, а затем пройдемся по тонким настройкам в рамках нескольких разделов, посвященных анизотропной фильтрации, сглаживанию и постобработке. Для написания этого гайда мы пользовались информацией, полученной от профессионалов: Алекса Остина, дизайнера и программиста Cryptic Sea , Николаса Вайнинга, технического директора и ведущего программиста Gaslamp Games и от представителей Nvidia. Сразу отметим, что статью мы пишем простыми словами, опуская подробные технические детали, чтобы вам было легче понять механизмы работы разных технологий.
ОСНОВЫ
Разрешение
Пиксель — основная единица цифрового изображения. Это цветовая точка, а разрешение — количество столбцов и рядов точек на вашем мониторе. Самые распространенные разрешения на сегодня: 1280×720 (720p), 1920×1080 (1080p), 2560×1440 (1440p) и 3840 x 2160 (4K или «Ultra-HD») . Но это для дисплеев формата 16:9 . Если у вас соотношение сторон 16:10 , разрешения будут слегка отличаться: 1920×1200, 2560×1600 и т.д. У ультрашироких мониторов разрешение тоже другое: 2560×1080, 3440×1440 и т.д.
Кадры в секунду (frames per second, FPS)
Если представить, что игра — это анимационный ролик, то FPS будет числом изображений, показанных за секунду. Это не то же самое, что частота обновления дисплея, измеряемая в герцах. Но эти два параметра легко сравнивать, ведь как монитор на 60 Гц обновляется 60 раз за секунду, так и игра при 60 FPS выдает именно столько кадров за тот же отрезок времени.
Чем сильнее вы загрузите видеокарту обработкой красивых, наполненных деталями игровых сцен, тем ниже будет ваш FPS . Если частота кадров окажется низкой, они будут повторяться и получится эффект подтормаживания и подвисания. Киберспортсмены охотятся за максимальном возможными показателями FPS , особенно в шутерах. А обычные пользователи зачастую довольствуются играбельными показателями — это где-то 60 кадров в секунду. Однако, мониторы на 120-144 Гц становятся более доступными, поэтому потребность в FPS тоже растет. Нет смысла играть на 120 герцах, если система тянет всего 60-70 кадров.
Так как в большинстве игр нет встроенного бенчмарка, для измерения кадров в секунду используется стороннее программное обеспечение, например, ShadowPlay или FRAPS . Однако, некоторые новые игры с DX12 и Vulkan могут некорректно работать с этими программами, чего не наблюдалось со старыми играми на DX11 .
Апскейлинг и даунсэмплинг
В некоторых играх есть настройка «разрешение рендеринга» или «rendering resolution» — этот параметр позволяет поддерживать постоянное разрешение экрана, при этом настраивая разрешение, при котором воспроизводится игра. Если разрешение рендеринга игры ниже разрешения экрана, оно будет увеличено до масштабов разрешения экрана (апскейлинг). При этом картинка получится ужасной, ведь она растянется в несколько раз. С другой стороны, если визуализировать игру с большим разрешением экрана (такая опция есть, например, в Shadow of Mordor ), она будет выглядеть намного лучше, но производительность станет заметно ниже (даунсэмплинг).
Апскейл и даунскейл
Производительность
На производительность больше всего влияет разрешение, поскольку оно определяет количество обрабатываемых графическим процессором пикселей. Вот почему консольные игры с разрешением 1080p, часто используют апскейлинг, чтобы воспроизводить крутые спецэффекты, сохраняя плавную частоту кадров.
Мы использовали наш Large Pixel Collider (суперкомпьютер от сайта PC Gamer), включив две из четырех доступных видеокарт GTX Titan , чтобы продемонстрировать, как сильно разрешение влияет на производительность.
Тесты проводились в бенчмарке Shadow of Mordor:
Вертикальная синхронизация и разрывы кадров
Когда цикл обновления дисплея не синхронизирован с циклом рендеринга игры, экран может обновляться в процессе переключения между готовыми кадрами. Получается эффект разрыва кадров, когда мы видим части двух или более кадров одновременно.
Неприятные разрывы кадров
Одним из решений этой проблемы стала вертикальная синхронизация, которая почти всегда присутствует в настройках графики. Она не позволяет игре показывать кадр, пока дисплей не завершит цикл обновления. Это вызывает другую проблему — задержка вывода кадров, когда игра способна показать большее количество FPS , но ограничена герцовкой монитора (например, вы могли бы иметь 80 или даже 100 кадров, но монитор позволит показывать только 60).
Адаптивная вертикальная синхронизация
Бывает и так, что частота кадров игры падает ниже частоты обновления монитора. Если частота кадров игры превышена, вертикальная синхронизация привязывает ее к частоте обновления монитора и она, например, на дисплее с 60 Гц не превысит 60 кадров. А вот когда частота кадров падает ниже частоты обновления монитора, вертикальная синхронизация привязывает ее к другому синхронизированному значению, например, 30 FPS . Если частота кадров постоянно колеблется выше и ниже частоты обновления, появляются подтормаживания.
Чтобы решить эту проблему, адаптивная вертикальная синхронизация от Nvidia отключает синхронизацию каждый раз, когда частота кадров падает ниже частоты обновления. Эту функцию можно включить в панели управления Nvidia — она обязательна для тех, кто постоянно включает вертикальную синхронизацию.
Технологии G-sync и FreeSync
Новые технологии помогают разобраться со многими проблемами, которые зачастую основаны на том, что у дисплеев фиксированная частота обновления. Но если частоту дисплея можно было бы изменять в зависимости от FPS , пропали бы разрывы кадров и подтормаживания. Такие технологии уже есть, но для них нужны совместимые видеокарта и дисплей. У Nvidia есть технология G-sync , а у AMD — FreeSync . Если ваш монитор поддерживает одну из них и она подходит к установленной видеокарте, проблемы решены.
Сглаживание (Anti-aliasing, антиалиасинг)
Если провести диагональную линию квадратными пикселями, их четкие края создадут «эффект лестницы». Получается некрасиво, и разработчики называют такую ситуацию алиасингом. Если бы разрешения у мониторов были намного выше, проблема казалась бы мизерной. Но пока новые технологии отображения не появились или стоят слишком дорого, приходится компенсировать «лестницу» сглаживанием.
Инструментов для этого достаточно, но легче объяснить на примере суперсэмплинга (SSAA) . Эта технология отрисовывает кадры с более высоким разрешением, чем у экрана, а затем сжимает их обратно до его размера. На предыдущей странице вы могли видеть эффект от сглаживания при уменьшении частоты в Shadow of Mordor с 5120х2880 до 1440p .
Наглядное сглаживание
Взгляните на пиксель черепичной крыши. Он оранжевого цвета. Тут же и пиксель голубоватого неба. Находясь рядом, они создают жесткий зубчатый переход от крыши к небу. Но если визуализировать сцену с четырехкратным разрешением, вместо одного пикселя оранжевой крыши на этом же месте будут четыре пикселя. Некоторые из них будут оранжевыми, некоторые «небесными». Стоит взять значение всех четырех пикселей, как получится нечто среднее — если по такому принципу построить всю сцену, переходы станут мягче и «эффект лестницы» пропадет.
Такова суть технологии. Но, она требует от системы очень много ресурсов. Ей приходится отрисовывать каждый кадр с разрешением в два или более раз больше, чем оригинальное разрешение экрана. Даже в случае с нашими топовыми видеокартами суперсэмплинг с разрешением 2560х1440 кажется нецелесообразным. К счастью, есть альтернативы:
Мультисэмплинг (MSAA): Эффективнее суперсэмплинга, но все еще прожорлив. В старых играх он был стандартом, а его суть объясняется в видео, которое вы увидите ниже.
Усовершенствованный мультисэмплинг (CSAA): более эффективная версия MSAA от Nvidia для ее видеокарт.
Усовершенствованный мультисэмплинг (CFAA): тоже апгрейд MSAA , только от компании AMD для ее карточек.
Метод быстрого приближения (FXAA): вместо анализа каждого отдельного пикселя, FXAA накладывается в качестве фильтра постобработки на всю сцену целиком после ее рендеринга. FXAA также захватывает места, которые пропускаются при включении MSAA . Хотя сам метод быстрого приближения тоже пропускает много неровностей.
Морфологический метод (MLAA): он свойственен видеокартам AMD и тоже пропускает этап рендеринга. MLAA обрабатывает кадр, выискивая алиасинг и сглаживая его. Как нам объяснил Николас Вайнинг: «Морфологическое сглаживание работает с морфологией (паттернами) неровностей на краях моделей; оно вычисляет оптимальный способ удаления лесенок для каждого вида неровностей путем разбиения краев и зубцов на небольшие наборы морфологических операторов. А затем использует специальные типы смешивания для каждого отдельного набора». Включить MLAA можно в панели управления Catalyst.
Улучшенное субпиксельное морфологическое сглаживание (SMAA): еще один вид постобработки, в котором сочетаются детали MLAA, MSAA и SSAA . Такой метод можно совмещать со SweetFX , а многие современные игры поддерживают его изначально.
Временное сглаживание (TAA или TXAA): TXAA изначально разрабатывалась для графических процессоров Nvidia уровня Kepler и более поздних. Но затем появились не настолько специфические формы временного сглаживания, которые обычно обозначаются, как TAA . При таком способе следующий кадр сравнивается с предыдущим, после чего обнаруживаются и устраняются неровности. Происходит это при поддержке разных фильтров, которые уменьшают «ползающую лесенку» в движении.
Николас Вайнинг объясняет: «Идея TAA заключается в ожидании того, что два идущих друг за другом кадра будут очень похожи, ведь пользователь в игре двигается не настолько быстро. Поэтому раз объекты на экране переместились несильно, мы можем получить данные из предыдущего кадра, чтобы дополнить участки, нуждающиеся в сглаживании».
Многокадровое сглаживание (MFAA): появилось с релизом графических процессоров Maxwell от Nvidia. Тогда как MSAA работает с устойчивыми шаблонами, MFAA позволяет их программировать. Представители Nvidia подробно объясняют технологию в видео ниже (о нем мы уже говорили раньше и очень скоро вы его увидите).
Суперсэмплинг с глубоким обучением (DLSS): новейшая технология Nvidia, доступная лишь в некоторых играх и с видеокартами GeForce RTX . По словам компании: «DLSS использует нейронную сеть для определения многомерных особенностей визуализированной сцены и интеллектуального объединения деталей из нескольких кадров для создания высококачественного финального изображения. DLSS использует меньше сэмплов, чем TAA , при этом избегая алгоритмических трудностей с прозрачностями и другими сложными элементами сцен».
Другими словами, DLSS справляется с задачей лучше и эффективнее, чем TAA , но технологию нужно отдельно готовить к каждой игре. Если не обучить ее должным образом, многие места окажутся размытыми.
Что означают цифры?
В настройках сглаживания вы часто видите значения: 2x, 4x, 8x и т.д. Эти цифры рассказывают о количестве используемых образцов цвета и, как правило, чем больше число, тем точнее будет сглаживание (при этом оно потребует больше системных ресурсов).
Но есть исключения. Так, CSAA пытается достичь сглаживания на уровне MSAA с меньшим количеством образцов цвета. Поэтому 8xCSAA фактически использует только четыре образца цвета. Есть и 8QxCSAA — этот способ сглаживания увеличивает количество образцов цвета до восьми, чтобы повысить точность.
Еще пример сглаживания
Производительность
Мы использовали бенчмарк Batman: Arkham City , чтобы протестировать несколько старых методов сглаживания: MSAA, FXAA и TXAA . Результаты, как и ожидалось, показывают, что FXAA требует меньше всего ресурсов, в то время как MSAA и TXAA сильно влияют на среднюю частоту кадров.
Результаты тестирования сглаживания в Batman: Arkham City (на двух Nvidia GTX Titan SLI ):
Какой метод сглаживания использовать?
Зависит от вашей видеокарты и личных предпочтений касательно производительности и визуального качества. Однако, если частота кадров не проблема, выбор очевиден: FXAA эффективнее всего. Если же у вас видеокарта RTX и ваша игра поддерживает DLSS — пробуйте, ведь не зря же вы заплатили за новую и очень эффективную технологию. В старых играх придется покрутить настройки туда-сюда, чтобы подобрать идеальную комбинацию производительности и привлекательного внешнего вида. Если ваша система достаточно мощная, можете протестировать суперсэмплинг вместо встроенных в игры опций.
Гладковыбритый сглаженный Бэтмен
Переопределение настроек сглаживания
Теоретически, графические настройки в играх не должны иметь значения. Вы можете просто открыть панель управления Nvidia и AMD и изменить там все на свое усмотрение. К сожалению, на деле все работает иначе. Несмотря на то, что вы можете переопределить настройки для любой игры, положительный результат не гарантирован.
Николас Вайнинг объясняет: «Очень часто переопределение настроек не работает из-за отложенного рендеринга, нарушающего работу многих распространенных методов сглаживания». Алекс Остин из Cryptic Sea тоже отметил, что некоторые методы сглаживания не работают с настройками панелей видеокарт. Так что, нужно тестировать. Попробуйте отключить сглаживание в игре и установите его в панели управления, потом зайдите обратно в игру и проверьте результат.
Мы заметили, что MLAA от AMD работает лучше из панели управления. Но важно отметить, что это фильтр пост-обработки, который применяется ко всем объектам сцены. Поэтому он может исправить неровные края текстур, но при этом захватить и кое-что лишнее. Пример тому, меню в BioShock Infinite , буквы которого стали слегка сглаженными.
Меню слегка «пострадало»
Суперсэмплинг с использованием технологии динамического суперразрешения (DSR) от Nvidia или технологии виртуального сверхвысокого разрешения от AMD более надежен. У Nvidia DSR включается в разделе «Управление настройками 3D», где его можно выставить вплоть до 4x. А виртуальное сверхвысокое разрешение у AMD включается во вкладке «Дисплей». Активировав любую из этих настроек, вы запустите игру в более высоком разрешении, которое будет уменьшено до размеров разрешения экрана. Получится красиво, но ресурсозатратно. Кроме того, могут появиться проблемы с интерфейсом в некоторых играх или технология вообще не захочет работать.
Билинейная и трилинейная фильтрация
Фильтрация текстур следит за тем, как двухмерные картинки накладываются на трехмерную модель. Пиксель на трехмерной модели не обязательно будет соответствовать пискелю на текстуре (кстати, на трехмерных моделях пиксели называются текселями). Ведь вы наблюдаете за моделью на разных расстояниях и под разными углами. Поэтому, когда нужно узнать цвет пикселя, фильтрация находит точку на соответствующей текстуре, берет несколько сэмплов из близлежащих текселей и усредняет их. Простейший метод фильтрации — билинейная фильтрация, которая выбирает четыре ближайших текселя, чтобы найти цвет нужного пикселя.
Мир распадается на части
Появилось MIP- текстурирование и вместе с ним возникла новая проблема. Допустим, вы стоите на поверхности из треснувшего бетона. Если посмотрите прямо вниз, увидите большую, детальную бетонную текстуру. Но когда посмотрите вдаль, где дорога уходит в горизонт, вы увидите лишь пару пикселей, и особая детализация там не нужна. Поэтому, чтобы повысить производительность без потери качества, игра подгрузит текстуру более низкого разрешения, именуемую MIP- текстурой.
Так вот, когда мы рассматриваем нашу дорогу, не особенно хочется видеть, где одно MIP- изображение заканчивается, а другое начинается, потому что их качество различается и переход будет резать глаз. Билинейная фильтрация не интерполирует (не сглаживает) переходы, поэтому с этим типом фильтрации они заметны. Проблема решается при помощи трилинейной фильтрации, сглаживающей переход между MIP- текстурами, используя сэмплы каждой из них.
Анизотропная фильтрация
Трилинейная фильтрация работает, но текстуры все еще кажутся размытыми. Вот для чего была изобретена анизотропная фильтрация, которая значительно улучшает качество текстур при взгляде под углом.
Анизотропная фильтрация доминирует
Чтобы понять, как это работает, представьте квадратное окно — пиксель трехмерной модели — с кирпичной стеной прямо за ним в качестве текстуры. Через окно пробивается свет, создавая на стене квадратную форму. Это наша область сэмплинга, и она одинакова во всех направлениях. По такой технологии берутся сэмплы в случае с билинейной и трилинейной фильтрациями.
Если модель находится прямо перед вами, перпендикулярно взгляду — результат получится вменяемым. А если вы смотрите на нее под углом? Получается размытость. А теперь представьте, что текстура кирпичной стены отклонена от окна. Луч света превратится в длинную трапецию, покрывающую гораздо больше вертикального пространства на текстуре, чем горизонтального. Это та область, которую нужно сэмплировать для пикселя. Примерно так, грубо говоря, работает анизотропная фильтрация. Она масштабирует MIP- текстуры в одном направлении соответственно углу, под которым вы наблюдаете трехмерный объект.
Концептуально эту технологию не так просто понять. Если после нашего объяснения у вас все еще остались вопросы, лучше взгляните на объяснение самой Nvidia , где указана более подробная информация по теме (на английском языке).
А здесь что означают цифры?
Анизотропная фильтрация в настройках современных игр встречается не так часто, но там, где она есть, ее можно выставить в рамках от 2х до 16х. Nvidia объясняет, что эти цифры относятся к крутизне угла, к которому будет применена фильтрация:
«Анизотропная фильтрация функционирует с уровнями анизотропии между 1 и 16, определяя максимальную степень, с которой может масштабироваться MIP- текстура. Но она обычно предлагается пользователю в двухкратном увеличении: 2х, 4х, 8х и 16х. Разница между этими настройками в максимальном угле, под которым фильтрация будет работать с текстурой. Например, 4х будет фильтровать текстуры под углами вдвое более крутыми, чем 2х, но при этом начнет применять 2х фильтрацию для текстур, угол которых находится в диапазоне 2х, для оптимизации производительности. Это позволит снизить нагрузку на систему даже при максимальных настройках анизотропной фильтрации».
Производительность
Анизотропная фильтрация не так сильно влияет на производительность, как сглаживание, поэтому в наши дни ее редко добавляют в меню настроек (она включена по умолчанию). Используя бенчмарк BioShock Infinite, мы заметили снижение среднего FPS на всего 6 кадров в сравнении между билинейной и анизотропной фильтрациями. Это мизерная разница, учитывая значительное улучшение качества картинки. Ведь высокое качество текстур не имеет смысла при плохой фильтрации.
Еще пример победы анизотропной фильтрации над другими методами
Настройки качества графики
Настройки качества во многом зависят от самой игры. В целом, они повышают и понижают сложность игровых эффектов и ассетов (ресурсов, цифровых объектов). Переход от низких настроек до высоких может повлиять на кучу переменных. Например, увеличивая качество теней, вы можете увеличить их разрешение, включить мягкие тени или изменить расстояние, на которых тени будут видны. Вы не узнаете, что конкретно сделали, но в некоторых случаях изменения существенно улучшат производительность.
Уменьшение и увеличение качества текстур значительно влияет на производительность и визуальное качество. В бенчмарке BioShock Infinite мы выставили все настройки на максимум и меняли лишь качество текстур. Вот результаты (при использовании двух Nvidia GTX Titan SLI):
Заметили скачок между низкими и высокими настройками? Больше десяти кадров в секунду. Кажется, что это не так много. Но на других системах разница может быть куда больше, ведь наш тестовый стенд достаточно мощный. Не существует быстрого способа определить идеальные настройки качества графики для вашей системы. Это тот случай, когда нужно тестировать ручками. Рекомендуем сначала опробовать советы ПО от Nvidia и AMD, а затем повысить качество текстур, освещения и теней, проверяя средний FPS .
Глобальное затенение (Ambient occlusion)
Глобальное освещение равномерно распределяется по каждому объекту сцены. Например, солнечным днем, когда даже в тени рассеивается определенное количество света. Для придания глубины сцене технология объединяется с направленным освещением, ведь без этого картинка получается плоской.
Интимное затенение
Глобальное затенение пытается улучшить этот эффект, определяя, какие части сцены должны освещаться сильнее или меньше. Оно не отбрасывает жесткие тени, как источник направленного света, а скорее затемняет общий интерьер и щели, добавляя мягкое затенение.
SSAO (преграждение окружающего света в экранном пространстве)
Почти то же самое, что и глобальное затенение (ambient occlusion), используемое при рендеринге в реальном времени. За последние годы эта технология стала обычным явлением в играх, а впервые ее можно было увидеть в . Иногда технология выглядит глуповато, словно окружающие предметы «сияют» темнотой. В других случаях она идеально добавляет сцене глубину. Все основные движки поддерживают SSAO , а реализация технологии зависит от игры и ее разработчиков.
Есть также улучшенные вариации SSAO в виде HBAO+ и HDAO .
Технология HDRR (High dynamic range rendering — высокодинамичный диапазон рендеринга)
HDR был в моде среди фотографов несколько лет назад. Диапазон здесь относится к яркости изображения и определяет насколько темным или ярким оно может быть. Цель технологии в том, чтобы самые темные области сцены были такими же подробными и различимыми, как и яркие. Изображение с низким динамическим диапазоном хорошо различимо в светлых участках, а в тени вся детализация теряется, или наоборот.
HDR рулит
В прошлом диапазон темного и светлого в играх был ограничен восемью битами (256 значений). Но с появлением DirectX 10 стал возможен 128-битный HDRR . Хотя, технология все еще ограничена контрастностью дисплеев. Не существует стандартизированного метода измерения контрастности, но LED- мониторы зачастую выдают контрастность 1000:1.
Bloom-эффект
Печально известный своей излишней популярностью у игровых разработчиков, bloom- эффект пытается имитировать то, как яркий свет распространяется по краям моделей, делая источники света ярче, чем они есть на самом деле. Это работает, но зачастую bloom реализуют настолько криво, что обычные настольные лампы светятся сильнее ядерного взрыва. К счастью, в большинстве игр его можно отключить.
Ниже можете взглянуть на скриншот из игры Syndicate — ярчайший (в прямом смысле) пример кривой реализации bloom- эффекта.
Кто это там сверхновую на улице взорвал? 🙂
Размытие (motion blur)
Все очень просто — это фильтр, имитирующий резкое движение кадра, словно в фильме. Многие геймеры предпочитают его отключать. И не только потому, что он влияет на производительность, но и из соображений комфорта. Размытие иногда красиво выглядит, например, в гоночных играх (если оно правильно реализовано). Но обычно мы его выключаем.
Глубина резкости (Depth of field, DOF)
Для фотографов глубина резкости означает расстояние между ближайшей и самой удаленной точками, которые появляются в фокусе. Например, если мы снимаем портрет с небольшим DOF , лицо человека будет резким, а волосы сзади начнут расплываться и задний план окажется полностью размытым. С другой стороны, если DOF окажется слишком большим, нос человека будет детализирован на том же уровне, что и все объекты позади него — не слишком красиво.
По материалам сайта PC Gamer
Выражаем благодарность за прочтение!