Какое сглаживание лучше

Какое сглаживание лучше

Какое сглаживание лучше

Будь в курсе последних новостей из мира гаджетов и технологий

Какое сглаживание лучше

Типы сглаживания в играх

Какое сглаживание лучше

Какое сглаживание лучше

Начнем с определения:

Сгла́живание (англ. anti-aliasing) — технология, используемая для устранения эффекта «зубчатости», возникающего на краях одновременно выводимого на экран множества отдельных друг от друга плоских или объёмных изображений.

Почему возникает «зубчатость»? Проблема в том, что мониторы современных ПК состоят из квадратных пикселей, а значит на них действительно прямыми будут только горизонтальные и вертикальные линии. Все линии, находящиеся под углом, будут строиться из пикселей, находящихся по диагонали друг к другу, что и вызывает «зубчатость». К примеру, справа на картинке — вроде бы ровная линия. Однако стоит ее увеличить, как сразу становится видно, что никакая она не прямая:
Какое сглаживание лучше
Чем это грозит в играх? Тем, что, во-первых, при движении будет возникать эффект «мельтешения» — такие неровные линии будут постоянно перестраиваться, что будет и отвлекать от игры, и делать картинку неестественной. Во-вторых — далекие объекты будут выглядеть нечетко.

Сразу же возникает вопрос — а как убрать эти неприятные эффекты? Самый простой способ — сделать пиксели меньше при том же размере экрана (иными словами — сделать разрешение больше и поднять плотность пикселей). Тогда «зубчатость» будет проявляться слабее, и картинка будет выглядеть естественнее. Но увы — способ хоть и простой, но дорогой, да и для видеокарты это достаточно сильная дополнительная нагрузка. И тогда, дабы улучшить картинку не меняя монитора, было придумано сглаживание.

SSAA (Supersample anti-aliasing) — самое тяжелое сглаживание, потому что оно, по сути, описывает способ убирания лесенок, который я привел выше: при четырехкратном (4х) сглаживании видеокарта готовит картинку в разрешении вчетверо выше, чем выводит на экран, потом происходит усреднение цвета соседних пикселей и вывод на экран в исходном разрешении. Получается, что виртуальная плотность пикселей вдвое выше, чем у экрана, и лесенки практически перестают быть заметными. Очень сильно сказывается на производительности: к примеру, если разрешение в игре 1920х1080, то видеокарта вынуждена готовить картинку в 4К — 3840х2160. Однако результат получается великолепным — картинка выглядит как живая, никакого мельтешения нет:

Какое сглаживание лучше

MSAA (Multisample anti-aliasing) — улучшенная версия SSAA, которая потребляет гораздо меньше ресурсов. К примеру — зачем сглаживать то, что находится внутри текстуры, если лесенки есть только на краях? Если текстура представляет собой прямую линию под углом к игроку, то можно сгладить лишь один участок и продолжить эффект на весь край текстуры. В результате нагрузка на видеокарту становится ощутимо меньше, и по тяжести даже 8х MSAA оказывается ощутимо легче 4х SSAA при сравнимом качестве картинки.

CSAA и CFAA (Coverage Sampling anti-aliasing и Custom-filter anti-aliasing) — по сути несколько улучшенный MSAA от Nvidia и AMD (позволяют выбирать дополнительные отсчёты «перекрытия» пикселя, по которым можно уточнять итоговое значение цвета попадающего на край треугольника экранного пикселя). 8x CSAA/CFAA дает сравнимое с 8x MSAA качество картинки, однако потребляет примерно столько же ресурсов, столько и 4х MSAA. На сегодняшний момент оба сглаживания не используются — разработчики игр решили использовать унифицированные для всех видеокарт сглаживания.

FXAA (Fast approXimate anti-aliasing) — нетребовательное быстрое сглаживание. Алгоритм прост — совершается один проход по всем пикселям изображения и усредняются цвета соседних пикселей. Это слабо нагружает видеокарту, однако сильно мылит картинку (обратите внимание на четкость текстуры камня), делая далекие объекты вообще неузнаваемыми:

Какое сглаживание лучше

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

Какое сглаживание лучше

Из особенностей — это единственное сглаживание, работающее полностью на процессоре, поэтому практически не влияет на fps в играх при мощном процессоре. Из-за более сложного алгоритма изображение получается более качественным, чем с FXAA, однако до 2x MSAA все еще далеко.

SMAA (Subpixel Morphological anti-aliasing) — смесь FXAA и MLAA. По сути несколько улучшенный MLAA, но работающий на видеокарте (так как процессор для сглаживания подходит гораздо хуже). Дает картинку, сравнимую с MLAA, лучше, чем FXAA (обратите внимание на бочки), однако потребляет больше ресурсов:

Какое сглаживание лучше

Такое сглаживание является хорошей заменой FXAA, и по уровню нагрузки на видеокарту находится между отсутствием сглаживания и 2x MSAA, так что есть надежда, что в будущем игр с ним будет все больше.

TXAA(Temporal antialiasing) — новая технология сглаживания от Nvidia. В отличии от других типов сглаживания, которые работают только с одним кадром (то есть с неподвижной картинкой), это умеет работать с движущимися объектами и хорошо убирает «мельтешение» картинки. По сути является смесью MSAA и SMAA, дает очень качественную картинку, однако немного ее мылит и очень требовательно к ресурсам.

В итоге — какое сглаживание выбрать? Если видеокарта совсем плохо тянет игру, то или оставаться без сглаживания и смотреть на лесенки, или же выбрать FXAA и любоваться на мыло. Если же система по-мощнее, но MSAA все еще не тянет — стоит выбрать MLAA или SMAA. Если видеокарта играючи справилась с 8х MSAA — стоит смотреть на SSAA или TXAA.

Источник

Какое сглаживание в играх лучше: DLSS, MSAA, TAA, FXAA или DMAA

Какое сглаживание лучше

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

Содержание

Что такое сглаживание и для чего нужно

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

Какое сглаживание лучше Какое сглаживание лучше Какое сглаживание лучше

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

Так вот, сглаживание, или же AA (Anti-Aliasing) — это способ устранения артефактов алиасинга, в том числе и тех самых «лесенок» на изображении. Оно позволяет сделать сцену в игре более реалистичной и приятной глазу, как в реальной жизни. Добиваются плавности как раз «смягчением» переходов между пикселями, заполняя соседние пиксели корректными оттенками.

Какие виды сглаживания в играх бывают

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

Сами методы можно разделить на 2 категории: те, которые применяются во время рендеринга и те, которые применяются к уже построенному изображению (постпроцессинговые).

SSAA (Super Sampling Anti-Aliasing)

Также его называют методом избыточной выборки. Основан на принципах получения образцов цвета (сэмплов) сразу в 4 участках пикселя с последующим усреднением. Важное уточнение: для этого вместо одного пикселя рендерятся четыре, и уже после расчётов цвета они сжимаются обратно до одного. Кстати, необязательно должно использоваться именно четырёхкратное увеличение, это лишь один из самых распространённых типов алгоритма. Существует множество вариаций паттернов выборки: среди них ordered grid, rotated grid, jitter. Все они отличаются только расположением точек получения сэмплов и точностью результата. Иногда в настройках игры можно увидеть несколько видов SSAA, которые как раз будут отличаться паттернами. Самый простой — ordered grid (OGSSAA), остальные методы, как правило, эффективнее.

Какое сглаживание лучше Какое сглаживание лучше Какое сглаживание лучше

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

DSR (Dynamic Super Resolution)

Какое сглаживание лучше

Владельцы видеокарт NVIDIA имеют возможность включить в «Панели управления NVIDIA» функцию под названием DSR. С этой технологией изображение в игре рендерится в большем разрешении, а затем масштабируется до нативного разрешения монитора. Результат оказывается близок к SSAA, за исключением того, что в DSR ещё накладывается фильтр размытия.

Какое сглаживание лучше Какое сглаживание лучше Какое сглаживание лучше

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

MSAA (MultiSample Anti-Aliasing)

Какое сглаживание лучше

Как и SSAA, MSAA делает выборку нескольких участков пикселя и усредняет цвет, но только на крайних пикселях объектов, а не на всей сцене, а значит, и ресурсов потребляет значительно меньше. Весьма распространён и даёт хороший результат. Из-за такой выборки проявляются и недочёты технологии — на стыках между двумя объектами изображение по-прежнему «острое», то же самое видно и на высокодетализированных, а также прозрачных текстурах. Ну и хоть оно менее ресурсозатратное, нежели SSAA, это всё ещё «тяжёлый» метод, сильно нагружающий видеокарту.

Какое сглаживание лучше Какое сглаживание лучше

MSAA в играх встречается в нескольких типах: 2x, 4x, 8x, 16x. Число отражает количество выборок на пиксель. Чем оно выше, тем лучше результат, но сильнее нагрузка.

CSAA (Coverage Sampling Anti-Aliasing)

Какое сглаживание лучше Какое сглаживание лучше Какое сглаживание лучше

CSAA — это доработанный MSAA от компании NVIDIA. Он выдаёт результат, близкий к MSAA 8x или 16x, потребляя ресурсы на уровне MSAA 4x. Не углубляясь в детали, улучшение сглаживания достигается за счёт использования информации ещё и о соседних пикселях. Похожая технология от AMD называется EQAA (Enhanced Quality Anti-Aliasing). Обе технологии почти не встречаются в современных играх из-за того, что сейчас разработчики предпочитают использовать универсальные методы.

TAA (Temporal Anti-Aliasing)

Какое сглаживание лучше

TAA — популярный метод сглаживания, который часто используется во многих современных играх. Он берёт информацию о пикселях не только с текущего кадра, но и с предыдущего. За счёт этого TAA позволяет избавиться от эффекта мерцания, например, на тонких объектах. В целом, это довольно качественный метод, не уступающий MSAA, при этом потребляющий в разы меньше ресурсов. Недостатки тоже есть: изображение может быть слишком мыльным — разработчики пытаются исправлять это повышением резкости, но не всегда помогает. Кроме того, из-за того, что информация берётся с предыдущего кадра, возникает эффект гостинга (остаточного изображения) — вокруг движущихся объектов возникают «шлейфы».

FXAA (Fast approXimate Anti-Aliasing)

Какое сглаживание лучше

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

Какое сглаживание лучше Какое сглаживание лучше

MLAA (MorphoLogical Anti-Aliasing)

Какое сглаживание лучше

Постпроцессинговый метод, работает не на видеокарте, а на процессоре, в отличие от всех остальных методов. MLAA ищет резкие отличия в цветах, затем идентифицирует L-, Z- и U-образные паттерны в построенном изображении, после чего смешивает цвета пикселей в таких фигурах.

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

MLAA даёт более точный результат, чем у FXAA, но и сам процесс более требователен к ресурсам. Впрочем, если имеется мощный процессор, то влияние на FPS в играх будет минимальное.

SMAA (Subpixel Morphological Anti-Aliasing)

Какое сглаживание лучше

SMAA — это смесь FXAA и MLAA, работающая на видеокарте. В отличие от MLAA, ищёт различия не в цветах, а в яркости пикселей. Кроме того, использует не только L-, Z- и U-образные паттерны, но ещё и диагональные.

Какое сглаживание лучше Какое сглаживание лучше Какое сглаживание лучше

Существуют разные типы SMAA:

Какое сглаживание лучше Какое сглаживание лучше Какое сглаживание лучше Какое сглаживание лучше Какое сглаживание лучше

Самый эффективный, как можно понять из описания, SMAA T4x, он же и самый прожорливый из этих вариантов. На скриншотах из Shadow of Tomb Raider заметно, как сильно меняется изображение при включении SMAA 1x, а вот разница между SMAA T2x и T4x есть, но она не такая существенная.

CMAA (Conservative Morphological Anti-Aliasing)

Какое сглаживание лучше

Как и предыдущие три, CMAA — это постпроцессинговый метод. Нагружает систему чуть больше, чем FXAA, но меньше, чем SMAA. В теории, CMAA обеспечивает куда более лучшую по качеству картинку, нежели примитивный FXAA, но это зависит от реализации: на примерах из DiRT Rally 2.0 отлично видно, что алгоритм не очень сильно влияет на сцену.

Какое сглаживание лучше Какое сглаживание лучше

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

Какое сглаживание лучше

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

DLSS (Deep Learning Super Sampling)

Какое сглаживание лучше

Сравнительно новая технология, на данный момент доступная только на видеокартах NVIDIA RTX. Очень эффективный метод, который при небольших требованиях к ресурсам выдаёт качественную картинку. Конечно, если речь идёт о DLSS 2.0 и 2.1 — первая итерация технологии была очень сырой и сильно «мылила» картинку.

Какое сглаживание лучше Какое сглаживание лучше

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

Конечно, технология всё ещё сыровата даже во второй версии, и иногда встречаются небольшие артефакты, но даже сейчас результат получается лучше, чем при использовании TAA. На картинке выше сравнивается DLSS и TAA. Издалека разницы нет, но при детальном рассмотрении видно, что с DLSS дальние объекты чётче, а рюкзак выглядит чуть мыльнее, но на нём нет лесенок.

Итог: какое сглаживание лучше выбрать

Технологий сглаживания действительно много, но каждая из них имеет право на существование. Какая же из них самая лучшая?

Источник

Сглаживание. Какое лучше?

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

Какое сглаживание лучше
Начнем с того, что AA (Anti-Aliasing, Сглаживание) — способ устранения «ступенчатости» на краях объектов, линий, которые находятся под наклоном и не являются ни строго вертикальными и ни строго горизонтальными. Особенно «лесенка» заметна на стыках полигонов с разными цветами.
В играх может использоваться, когда видеокарте не хватает мощности для вывода изображения в высоком разрешении, где все детали плавные и приятны глазу. Если AntiAliasing отрабатывает хорошо и качественно, то из-за этого страдает производительность, падает фпс в играх. Если сглаживает плохо, то страдает графика, появляется замыливание картинки, артефакты. Поэтому, если есть возможность играть при высоком разрешении и фпс при этом падает не на много, не включайте AA, играйте на высоком. Так же из особенностей, сглаживание «лесенки» может быть включено на уровне настроек видеокарты и при этом еще и на уровне приложений. Эффект при этом «усиливается», если используется первый и второй тип сглаживания. Поэтому если собрались испытывать антиальясинг, убедитесь чтобы оно было включено где то в одном месте, дабы не получить замыленность.

Первый тип

Влияние на фпс прямое, в зависимости от метода и пропускной способности видеопамяти.

SSAA (SuperSample Anti-Aliasing, Избыточная выборка сглаживания) — Самое тяжелое, но и самое качественное и жутко нагружающее видеокарту. В ускорителях применяется регулярная маска размером от 2×1 до 4×4. От этого и появляется нагрузка, при разрешении 1920×1440 и маске 2х2 строится кадр с разрешением 3840х2880 (что требует памяти в 4 раза больше), после этого, усредняются цвета всех суб-пикселей в маске и уже после кадр сжимается и подается на вывод на экран в исходном разрешении.
Существовала технология в основном до DirectX 8, пока не появился MSAA. Из-за большого влияния на фпс от него отказались. Но так как мощность видеокарт перманентно росла, NVIDIA его вернули в строй и используется для игр с поддержкой DX9, DX10, DX11.
Хотите 60 фпс? Тогда сами сможете прикинуть под какой нагрузкой будет работать видеоадаптер. Однако, от картинки вы получите наслаждение. Данный метод рекомендуется обладателям производительных видюх для современных игр.

MSAA (MultiSample Anti-Aliasing, Множественная выборка сглаживания) — пришел на смену SSAA, потребляя меньше ресурсов, но и результат дает немного другой. Изображение по-прежнему рендерится в большем разрешении, но производительность достигнута за счет AA только краев объекта, а не всей картинки как в SSAA. Из минусов, на прозрачных полигонах (стекла, вода..) данный метод не работает, поэтому лесенку иногда можно лицезреть. И так как сглаживается только часть изображения, то можно наблюдать еще и артефакты. Плюс несовместимость с методом отложенного освещения. Нужно помнить, что MSAA выгоднее юзать на низких разрешениях. Чем оно выше, тем накладнее по ресурсам. Так же рекомендуется обладателям топовых видеокарт, с большим количеством видеопамяти.

CSAA (Coverage Sampling Anti-Aliasing, Выборка сглаживания с перекрытием)
— это продолжение эволюции SSAA->MSAA->CSAA, который сохранил совместимость с алгоритмами используемых в железе. Улучшение достигнуто за счет того, что в буфер кадра передается еще информация о субсэмпле с соседнего пикселя. Что в итоге помогает рассчитать более качественное сглаживание.
При равных уровнях (4,8..) CSAA и MSAA, качество кадра всегда будет у CSAA выше, а по производительности они друг другу не будут уступать.

FSAA (Full Scene Anti-Aliasing, Полноэкранное сглаживание) — То же что и SSAA, но от AMD и с небольшими отличиями.

QCSAA (Quality Coverage Sampling Anti-Aliasing, Выборка сглаживания с перекрытием) — не трудно догадаться, что это улучшенная версия CSAA, только использует вдвое больше сэмплов для анализа

AAA (Adaptive Anti-Aliasing, Адаптивное сглаживание) — Как известно у MSAA есть проблема при сглаживании краев на прозрачных объектах. Данный способ призван устранить такую проблему. Является синергией мультисемплинга (MSAA) и суперсемплинга (SSAA). Как можно догадаться, данный вид ресурсоемок и рекомендуется обладателям топ карт. Используется у AMD.

TrAA (Transparency Anti-Aliasing, Прозрачное сглаживание) — тоже что и AAA, только от NVIDIA.

TrAAA (Transparency Adaptive Anti-Aliasing, Адаптивное Прозрачное сглаживание) см. TrAA

TrMSAA (Transparency Multi-Sampling Anti-Aliasing, Прозрачная множественная выборка сглаживания) использует краевой метод (MSAA) для прозрачных объектов. Разновидность TAAA. Может обозначаться как TMAA

TrSSAA (Transparency Super-Sampling Anti-Aliasing, Прозрачная полноэкранная выборка сглаживания)
использует полноэкранное сглаживание (SSAA) для прозрачных объектов. Разновидность TAAA. Может обозначаться как TSAA

OGSSAA (Ordered Grid SuperSampling Anti-Aliasing, Избыточная выборка сглаживания с упорядоченной решеткой) — Классический SSAA в котором используется решетка с упорядоченной выборкой, выровненная по вертикали и горизонтали.

RGSSAA (Rotated Grid SuperSampling Anti-Aliasing, Избыточная выборка сглаживания с повернутой решеткой) — Все тот же SSAA, с уточнением расположения решетки наклоненной под определенным углом. Данный метод показывает качество немного лучше, чем OGSSAA, при почти горизонтальных или вертикальных краях объектов (слегка наклоненных).

SGSSAA (Sparse Grid SuperSampling Anti-Aliasing, Избыточная выборка сглаживания с разряженной решеткой) — выборки располагаются на регулярной сетке, как в OGSSAA. Но выборка производится лишь на некоторых узлах сетки. Здесь заложен компромиссный подход между производительностью и качеством изображения. Метод используется у NVidia

HRAA (High-Resolution Anti-Aliasing, Полноэкранное сглаживание для высоких разрешений) — метод полноэкранного сглаживания в NVIDIA с 5-ю сэмплами. Качество как 4xSSAA, по нагрузке как 2xSSAA.

HRAA (Hybrid Reconstruction Anti-Aliasing, Гибридное сглаживание) — решение использующее лучшие практики, на основе краевого метода (MSAA, CSAA), постобработки с аналитикой и временного антиалиасинга.

EDAA (Edge Detect Anti-Aliasing, Краевое сглаживание) так же краевой метод + обсчитываются контрастные переходы еще и на объектах и текстурах. Что в итоге сильнее садит fps. Условно можно назвать это аналогом CSAA, только от AMD. Это разновидность CFAA, описанного ниже.

QAA ( Quincunx Anti-Aliasing, Шахматное сглаживание ) — метод от NVidia, в основе которого лежит учет не только своих субпикселей, но и данные берутся от соседних. При этом, при расчете финального цвета, свой сэмпл имеет вес больше, чем данные с соседних. В расчет берется 5 точек. По качеству 2xQSAA, приблизительно так же выглядит как 4xMSAA.

FAA (Fragment Anti-Aliasing, Частичное Сглаживание) — разработана компанией Matrox. Сглаживание применяемое к краям объектов. Отличие от SSAA и MSAA, в том, что края и сами объекты не увеличиваются в несколько раз по маске. Каждый пиксель делится на 16 частей и если покрытие полное, то пиксель отправляется в кадровый буфер, если неполное, то уходит в отдельный буфер. Такой пиксель считается фрагментированным, при чем в дальнейшем над ним проводится анализ и он видоизменяется. Такая реализация очень сильно экономит ресурсы видеокарты. Но есть и проблема, алгоритм определения краев не всегда корректно обнаруживает те самые края. Проблема с прозрачными объектами во всей красе.

TXAA (Temporal approXimate Anti-Aliasing, Временное приблизительное сглаживание) — технология от Nvidia, которая использует основу MSAA. В формуле расчета используется время, данные по пикселям из предыдущих кадров и данные из обрабатываемой сцены. После чего происходит усреднение по цвету. Это позволяет избавиться от мерцания и дерганья объектов в игре. Вдали дает качественную картинку, однако немного мылит близкие объекты и требования к ресурсам почти как для MSAA, хотя качество при тех же значениях лучше.
Со слов производителя, TXAA 2x сравнимо по качеству с 8xMSAA, но при по затратам производительности сопоставимо как с 2xMSAA, а TXAA 4x выше по качеству чем 8xMSAA, но по затратам производительности сопоставимо как с 4xMSAA. Отлично подходит для сглаживания в динамике.

TSSAA (Temporal Super Sampling Anti-Aliasing, Временная избыточная выборка сглаживания) — Этот метод, что и TXAA, только не привязан к видеокартам NVIDIA и завязана на суперсэмплинг.

Какое сглаживание лучше

Второй тип
Влияние на фпс слабое. Так называемые методы пост-обработки, когда сглаживание происходит в момент вывода изображения на экран.

FXAA (Fast approXimate Anti-Aliasing, Быстрое приблизительное сглаживание) — разработка NVidia. Из названия видно, что это более производительное сглаживание по-сравнению с традиционным MSAA. Алгоритм использует простой способ обнаружения разрыва цветов фигур. В момент вывода изображения на экран усредняются по цвету все соседние пиксели. Это не нагружает видеокарту, но жутко мылит кадр. Далекие и затуманенные объекты в игре будут почти не узнаваемы. Такое сглаживание имеет смысл включать на слабых машинах, ноутбуках, нетбуках и прочих эконом вариантах.

MLAA (MorphoLogical Anti-Aliasing, Морфологическое сглаживание) — условный аналог FXAA. Методика придумана компанией Intel. Алгоритм, ищет пиксельные границы на каждом кадре, похожие на Z, L и U буквы и смешивает цвета соседних пикселей, входящих в каждую такую часть. Алгоритм переведен на использование процессора, а не GPU. Отсюда можно рекомендовать его обладателям слабых видеокарт и с более менее производительным процессором. Из-за более сложного алгоритма изображение получается более качественным, чем с FXAA. Имеется реализация у AMD, но технически может использовать и NVidia. Есть проблема: сглаживание не отрабатывает на прозрачных текстурах. Поэтому в довесок этой постобработки нужно подключать еще и TrAA для улучшения изображения. Время обработки занимает 0,9 мс. Так же есть методики MLAA реализованные на GPU.

CMAA (Conservative Morphological Anti-Aliasing, Консервативное морфологическое сглаживание) — среднее между FXAA и SMAA 1x. Идеально подходит для слабых и средних графических процессоров. Отличие от FXAA происходит за счет обработки линий краев длиной до 64 пикселей. Используется алгоритм, с обрабатыванием только симметричных разрывов цветов, чтобы избежать ненужного размытия. Отличие от SMAA 1x происходит за счет менее полного сглаживания объектов, т.к. обрабатывается меньше типов фигур и обладает повышенной временной стабильностью, т.е меньше мерцаний объектов.

MFAA (Multi-Frame Sampled Anti-Aliasing, Мультикадровое сглаживание) — производится выборка двух сэмплов для каждого пикселя из текущего кадра и двух сэмплов из предыдущих, после чего применяетя фильтр. MFAA, по сути, соответствует 2xMSAA по нагрузке на видеокарту, но даёт качество картинки на уровне 4xMSAA. При этом этот метод работает примерно на 30 процентов быстрее. Падение производительности из-за фильтра минимальное. Для MFAA необходим определенный уровень частоты кадров, чтобы сглаживание можно было рассчитывать на основе двух кадров. NVIDIA утверждает, что частоты кадров 30-40 fps должно быть достаточно.
GPAA (Geometric Post-process Anti-Aliasing, Сглаживание с геометрической постобработкой) — в работе техники заложено копирование буфера с отрендеренными данными и повторной обработки ребер.

GBAA (Geometry Buffer Anti-Aliasing, Сглаживание с буфером геометрии) — усовершенствованный GPAA, в котором границы обрабатываются несколько иначе. За счет чего улучшена производительность.

Какое сглаживание лучше
Остальные методы

Источник

На что влияют настройки графики в играх, и как повысить fps, сохранив лучшее качество

Разбираемся, чем отличается SMAA от MSAA, и почему анизотропную фильтрацию чаще всего можно не снижать.

Материал подготовлен при поддержке Dell Technologies

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

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

По данным Steam, в Топ-10 самых распространённых видеокарт входят в основном модели начального и среднего сегментов — исключение составляет предфлагман прошлого поколения GTX 1080 на 8 месте (2,37% от общего числа). Актуальные топы вроде GeForce RTX 2070 Super или выше встречаются не выше 12 места, а RTX 2080 Ti имеют и 0,88% от пользователей Steam).

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

Универсальных советов здесь не будет — набор настроек в разных играх отличается, а оптимизация часто подкидывает сюрпризы. Поэтому экспериментировать самостоятельно всё равно придётся.

Этот материал подготовлен при поддержке Dell Technologies. В своих игровых ноутбуках серии G она старается соблюдать баланс цены и производительности. О самой новой модели, G3 3500, мы рассказываем в конце материала. Этот гайд поможет играть в любые игры на ней и других компьютерах наиболее комфортно.

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

Для этого можно использовать встроенную в Windows 10 игровую панель Game Bar — при нажатии комбинации Win+G откроется меню, в котором можно вывести на экран простую статистику использования процессора, видеокарты и оперативной памяти.

Для большинства задач этого должно хватить — если видите, что какой-то из компонентов постоянно загружен на 100%, значит, нужно немного облегчить ему работу.

Для более детальной диагностики можно использовать MSI Afterburner — эта программа на базе Riva Tuner в основном используется для тонкой настройки и разгона видеокарт, но для диагностики и тестирования игр она также одна из лучших. Afterburner собирает подробную статистику о загрузке компонентов с точностью до отдельных потоков процессора, температурах и игровой производительности вроде времени отрисовки кадра. Часть этих показателей можно выводить прямо на экран, остальное — изучать на графиках в самой программе.

При замерах fps стоит обращать внимание на показатели среднего и редких (1%) и очень редких (0,1%) событий — абсолютный максимум и минимум не дают никакого представления о реальной производительности системы, тогда как средний фреймрейт задаёт уровень ожиданий от системы, а 1% и 0,1% позволяют отслеживать периодические просадки и соотносить пики с тем, что происходило в этот момент с процессором, памятью и видеокартой.

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

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

Из всех настроек графики на процессор влияют только те, от которых зависит количество объектов на экране. Эти настройки есть не во всех играх, но до некоторых можно добраться через файлы игры (например, количество частиц в Fallout и The Elder Scrolls).

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

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

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

Отключение этих параметров на современных ПК не даёт ощутимого прироста производительности. В зависимости от игры и конфигурации железа можно выиграть до 10% fps, но оно того не стоит.

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

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

Наиболее предпочтительным способом сглаживания без сомнения можно назвать DLSS 2.0, но его поддерживает не так много видеокарт и в небольшом количестве игр. В остальных случаях стоит рассматривать MSAA, TXAA и SMAA — для каждой игры лучший вариант по соотношению качества и производительности будет свой.

В ноутбках Dell G3 3500 — процессоры Intel Core 10-го поколения и графика GTX 1650, 1650 Ti, 1660 Ti или RTX 2060. «Оперативки» – 8 или 16 ГБ. А система хранения данных может состоять как только из SSD, так и из связки SSD+HDD. И её, и «оперативку» можно апргрейдить самостоятельно: если в процессе ничего не сломается, то Dell за это не лишит гарантии.

У модели много портов, в том числе Thunderbolt 3. А учитывая универсальный дизайн и компактные размеры, ноутбук можно использовать и как игровой, и как рабочий лэптоп сразу.

Это как ААА, только техноЛЛЛогия?
Автор, поправь (¬‿¬)
Upd. Всё ещё много «л», там должна быть одна

да, у g3 с этим капитальные проблемы

Вот с этим, к слову, так и не столкнулся в отличие от проблемы с петлями. Не знаю, может, подставка спасает (самая дешёвая какая была в днс). Температурный максимум в районе 80 наблюдал только в Одиссее и других играх от Юби, в фуллхд и на максималках. Остальное время крутится в районе 70-75 и ниже. Андервольтинг, тоже к слову, почти никакого влияния не оказал.

«лучше в полноэкранном, чем в окне»
WAT?

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

Так и есть, эксклюзивный доступ к ГПУ (полноэкранный режим) в общем случае дает более высокую производительность. Его минусы в основном связаны с переключением между задачами.

Ясно. Очередной гайд для пека плебсов. Нормальные люди просто вставляют диск и играют.

Давай рассмотрим на примере одной популярной игры, насколько ты не прав. Как я запускаю игру? Нажимаю включить комп, он грузится быстро, даже поссать не успеваю сходить. Нажимаю запустить игру и она запускается. Всё тоже быстро, слава быстрым сисдюкам на PCIe! Пока хожу есть на кухню, братишка сворачивает колду и играет в ГТА5. Почти всё на максимуме запускаю в 1440p, фпс ниже 120 не видел. Консоли могут так? Стоит ли напоминать, что улыбка счастья появляется на лице, когда вижу челиков с геймпадами в лобби?)) В общем, PCMR, да.

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

Крышку надо открывать либо одной рукой по центру, либо двумя руками за края. Я юзеры постоянно открывают за один край, а еще и рывком — крышка скручивается и пластик лопается.

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

Это проблема не только делла, у меня в мси была такая же петрушка, за ноутом следил, а петли рассыпались, в итоге ушел на предаторы, и с тех пор (а уже успел сменить 2 ноута) таких проблем не встречал.

Статья неплохая, но самое полезное в ней, что после прочтения я понял, что пора к офтальмологу записаться. Поскольку не сумел явных различий увидеть ни на картинке с орлом, ни где 4к с dlss сравнивают

С dlss я тоже не увидел. Но я смотрю с телефона и там же микроскопические картинки.

Так ведь отлично же. Длсс позволяет иметь раза в 2 больше фпс, чем при рендере в нативные 4к.

Так а какое у тебя зрение?

Алгоритм MLAA и его описание, впервые опубликовала Intel: Morphological Antialiasing (PDF) by Alexander Reshetov (Intel).
AMD лишь встроила опцию в драйвер.

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

Теневые объёмы, шэдоумапы к каким из двух относятся?

Отражения — бывают как симулированные (Screenspace), так и с сипользованием трассировки лучей (DXR).

Планарные и кубмап к каким из двух относятся?

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

Классические это какие именно? Light probes, LPV? Оно теперь, после появления rtx, всё в кучу, в т.ч. по производительности?

А ну да, это же рекламный материал на коленке 🙂

Источник

Как работает рендеринг 3D-игр: сглаживание с помощью SSAA, MSAA, FXAA, TAA и других методик

Какое сглаживание лучше

3D-игры состоят из тысяч, если не миллионов разноцветных прямых линий и других рёбер. А из-за того, как происходит их обработка для вывода на экран, эти линии иногда могут выглядеть изломанными и искажёнными. В пятой части нашего исследования рендеринга в 3D-играх мы расскажем, какие методики используются для сглаживания рёбер миров, в которые мы играем. Хорошие новости — на этот раз математики будет не так много!

Часть 1: обработка вершин

Кто виноват

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

Так как пикселизированная версия линии больше не является истинной линией, её перемещение или размещение рядом с другими фигурами создаёт множество визуальных артефактов, которые мы и называем «искажениями» (aliasing).

Можно задаться вопросом, действительно ли нужен этот процесс, но он возник из необходимости: отрендеренное изображение должно отображаться на экране. Из чего бы он ни был собран, будь то электронно-лучевая трубка, жидкокристаллический дисплей, или плазменная панель, этот экран отрисовывает изображение при помощи массива разноцветных элементов.

Какое сглаживание лучше

Разрешения 10 x 7 пикселей не совсем хватает для отображения этого треугольника без искажений

Некоторые сигналы меняются не в пространстве, а во времени, и здесь мы тоже получаем искажения при сэмплировании с заданными интервалами. Например, для преобразования аналоговой аудиодорожки в цифровую требуется измерять уровень звука через определённые доли секунды (допустим, в случае CD audio это каждые 0,02 миллисекунды).

Различия между сигналом, созданным из сэмпла, и оригинальным сигналом создают временные искажения, с которыми обычно справляются благодаря повышению частоты сэмплирования. Но что если сигнал на самом деле является последовательностью движений? Когда мы следим за реальным миром, окружающие нас предметы движутся без дискретности, поэтому когда это движение преобразуется в поток «снимков», получаются искажения.

В мире кинематографа это приводит к странно выглядящим движениям, например, колёса автомобиля как будто вращаются в обратном направлении. Это проявляется и в 3D-графике, когда частота кадров рендеринга сцены недостаточна для полной передачи движения объектов и персонажей, из-за чего края выглядят размытыми или зазубренными; последний дефект усугубляется пространственным искажением.

Хотя методики, используемые для решения этих проблем, имеют общее название anti-aliasing (AA), способы их решения в фильмах совершенно отличаются от способов в 3D-игре. В последних применяется множество методик, имеющих всевозможные названия. Но прежде чем мы приступим к общему обзору самых популярных алгоритмов, давайте поговорим о разрешении кадра и частоте кадров.

Зачем? Потому, что если бы и то, и другое было чрезвычайно велико, то искажение не представляло бы проблемы. Если взять старый бенчмарк, например 3DMark03, и запустить его на современной системе, то мы сможем сфокусироваться исключительно на пространственных искажениях.

Какое сглаживание лучше

Показанное выше изображение, взятое из первого теста Wings of Fury, сделано с разрешением 1280 x 720 пикселей. Четырнадцать лет назад, когда лучшими графическими картами были ATI Radeon 9800 XT и Nvidia GeForce FX 5900 Ultra, самые большие мониторы имели разрешение примерно 1600 x 1200, поэтому разрешение теста можно считать примерно низким или средним разрешением (сродни современному 1080p).

Какое сглаживание лучше

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

В этом следует винить относительно низкую степень сэмплирования, поэтому логичнее всего будет её увеличить; давайте теперь рассмотрим ту же сцену в 4K (3840 x 2160 пикселей).

Какое сглаживание лучше

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

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

В случае такой старой программы, как 3DMark03, на современном PC переход от 1280 x 768 к 3840 x 2160 снизил среднюю частоту кадров с 1670 до 1274 FPS, то есть увеличение количества пикселей на 740% снизило производительность всего на 24%. Однако в более новых программах ситуация будет иной.

Это легко продемонстрировать, запустив современный 3DMark при различных разрешениях; на графике ниже показана средняя частота кадров первого теста графики в бенчмарке Time Spy.

Какое сглаживание лучше

Переход с 720p на 4K — это повышение разрешения на 800%, но частота кадров упала на 81%. Хотя игры могут и не демонстрировать этот паттерн в точности, но современные AAA-игры не очень от него отличаются. Это говорит нам, что если мы хотим максимально снизить влияние искажений, нам нужен способ получше, чем повышение разрешения растра — чем ниже частота кадров, тем хуже становятся временные искажения.

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

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

Supersampling anti-aliasing (SSAA)

Этот способ, часто называемый также full scene anti-aliasing — самый старый и простой из всех. Он заключается в рендеринге сцены с повышенным разрешением, с последующим сэмплированием и смешением результата в меньшее количество пикселей. Например, монитор может иметь максимальное разрешение 1920 x 1080, но игра рендерится с разрешением 3840 x 2160, а затем картинка масштабируется и передаётся на экран.

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

Разумеется, мощности современных GPU позволяют использовать более сложные алгоритмы сэмплирования и смешения. Но давайте вкратце рассмотрим, как это работает. На изображении ниже показано действие классического 4x SSAA. «4x» означает, что вычислением арифметического среднего смешивается вместе 4 сэмпла (также называемых taps) для получения окончательного цвета. Для этого растровое разрешение увеличивается по каждой из осей в два раза.

Какое сглаживание лучше

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

Описанный выше паттерн и способ смешения называется box filter, однако существует его популярное улучшение с использованием повёрнутой сетки позиций сэмплов (RGSS). Проблема SSAA заключается в том, что все эти дополнительные пиксели необходимо обрабатывать, и как мы видели из тестов 3DMark, повышение разрешения растра запросто может сильно снизить частоту кадров.

По большей части суперсэмплирование можно заменить более эффективными алгоритмами, однако оно обрело новую жизнь в качестве параметра драйверов графических карт AMD и Nvidia. AMD называет свою технологию Virtual Super Resolution (VSR), а Nvidia — Dynamic Super Resolution (DSR).

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

Multisample anti-aliasing (MSAA)

Этот способ возник как результат работы исследовательских лабораторий Silicon Graphics в начале 90-х. По сути, это SSAA, но применённая только там, где это на самом деле нужно. Ну, на самом деле, внутри технологии есть не только это, но такое объяснение поможет вам понять, как работает алгоритм.

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

Но как это сделать? Оказывается, что необходимая для этого информация уже есть. Когда 3D-мир вершины преобразуется в 2D-плоскость растра, пиксели, создающие форму всевозможных разных примитивов в сцене, содержат не только информацию о цвете и текстурах, но и глубину.

Какое сглаживание лучше

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

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

Какое сглаживание лучше

Обратите внимание, как множественные сэмплы (multiple samples, вот отсюда и взялось название технологии) дают нам более точную карту глубин примитива. А теперь начинается хитрость. Сохранив эту подробную карту глубин, мы возвращаемся к кадру с исходным разрешением и выполняем все нужные шейдеры для получения окончательного цвета.

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

Затем, как и в случае с SSAA, мы сэмплируем и смешиваем детализированный буфер, приводя его к требуемому разрешению, и всё! Мы получили кадр без искажений. С точки зрения производительности, мы выполняли пиксельные шейдеры только для относительно малого количества точек, но для этого нам понадобилось создать и хранить пару буферов высокого разрешения.

Поэтому для multisample anti-aliasing требуется много видеопамяти и широкий канал передачи данных (плюс возможность быстрого считывания/записи в z-буферы), зато эта методика не требует большой вычислительной нагрузки на шейдеры. Давайте воспользуемся старым примером кода AMD, чтобы посмотреть, как она выглядит и чем отличается от SSAA.

Какое сглаживание лучше

Код запускает сцену с простыми текстурами и освещением, но со множеством геометрии, поэтому искажения на её рёбрах бросаются в глаза намного сильнее. В верхнем левом углу есть любопытная информация — для рендеринга каждого кадра в среднем требуется 0,18 миллисекунд, а для смешивания в окончательный результат — всего 0,02 мс. Буфер цвета (тот, который мы видим) занимает 7,4 МБ, как и буфер глубин.

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

Какое сглаживание лучше

Обратите внимание, что в представленном выше изображении время рендеринга увеличилось до 0,4 мс (рост на 122%), а время смешивания (под названием «Resolve») удвоилось. Кроме того, размер буферов цвета и глубин увеличился в четыре раза. Такова цена использования SSAA, и хотя любой современный GPU с лёгкостью справится с этой сценой, в новых 3D-играх ситуация окажется ужасной.

Однако посмотрите на увеличенную часть изображения. Заметили, насколько более гладкими стали линии? Да, в изображении ещё довольно много искажений, но оно заметно лучше. Вот если бы эта техника была не такой затратной! Ну, несколькими нажатиями мы можем переключиться на MSAA, и посмотреть, что изменится.

Какое сглаживание лучше

Показатели времени рендеринга сцены почти вернулись к тем, когда не применялось сглаживание, что хорошо, однако ещё больше стало время смешивания. Общий занятый объём памяти тоже находится примерно посередине между отсутствием AA и 4xSSAA, поэтому, похоже, что MSAA определённо стоит использовать.

Даже искажения на рёбрах примитивов кажутся меньшими, однако это больше связано с использованным паттерном сэмплирования, а не с самим принципом работы MSAA. На самом деле, если посмотреть на текстуру стены в увеличенной области, становится очевидным один недостаток multisample AA.

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

Что же делать, если методики supersampling и multisampling anti-aliasing неидеальны?

Fast approximate anti-aliasing (FXAA)

В 2009 году Nvidia представила другой способ улучшения изломанных краёв фигур в 3D-сцене. SSAA пользуется исключительно «грубой силой», MSAA — аппаратными функциями и трюками в коде. FXAA спроектирована так, чтобы выполняться исключительно через шейдеры. После появления этой методики её несколько раз совершенствовали и сегодня она активно применяется в играх.

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

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

Какое сглаживание лучше

Последовательность выполнения FXAA: нахождение пикселей на рёбрах, определение ориентации, их сдвиг, размытие готового изображения.

Пиксели, прошедшие тест, проходят ещё одну проверку для определения ориентации ребра. После его вычисления пара пикселей (под углом 90° к ребру), имеющая максимальную разность яркости, используется для сканирования вдоль ребра для поиска его концов. Они определяются по достаточно большому изменению средней яркости этой пары пикселей.

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

FXAA имеет серьёзные преимущества по сравнению с SSAA и MSAA. Во-первых, это настолько простой фрагмент кода, что его способен выполнить практически любой GPU; даже дешёвые модели способны выполнить эту процедуру всего за несколько миллисекунд.

Во-вторых, она сглаживает все рёбра, а не только периметры фигур. Например, текстуры с прозрачностью (часто используемые для дыма, мусора и листвы) будут сглажены, на что MSAA не способна.

Какое сглаживание лучше

Без AA (слева) и FXAA (справа) — обратите внимание, что деревья и элероны крыла выглядят намного плавнее

А какие недостатки есть у этой методики? Если в кадре есть множество областей с высокой контрастностью, например, с яркими пикселями на тёмной фоне, они смешиваются, вне зависимости от необходимости.

Точность этого способа не так высока, как у SSAA или MSAA, потому что он не может передавать субпиксельные детали — по сути, это просто хитрый фильтр, который может создавать довольно бесформенно выглядящие текстуры. Но благодаря своей малозатратности и создаю достаточно эффективных результатов, FXAA по-прежнему используется спустя 12 лет, хотя и в переработанном виде.

Существуют и другие полноэкранные алгоритмы поиска рёбер. Источником вдохновения для разработчиков FXAA стало созданная Intel Morphological anti-aliasing (MLAA); эта методика была усовершенствована разработчиком игр Crytek и испанским Университетом Сарагосы, которые дали ей название Enhanced Sub-pixel MLAA (сокращённо SMAA).

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

Temporal anti-aliasing (TAA)

Пока мы рассматривали только методики для устранения визуального влияния пространственных искажений. Для борьбы с временными искажениями (temporal aliasing), возникающими из-за того, что 3D-игры генерируют дискретные сэмплы непрерывного движения, чаще всего используется следующий алгоритм.

Мы начинаем с рендеринга кадра и его отображения; однако также мы сохраняем значения пикселей в блок памяти, называемый буфером истории (history buffer). Затем рендерер переходит к следующему кадру последовательности и обрабатывает его, но перед его отображением сэмплирует буфер истории, а результаты сэмплирования смешиваются с текущим кадром. Затем в буфер истории сохраняется этот результат, скопированный для создания окончательного изображения, а готовый буфер помечается как готовый для отображения на мониторе.

Какое сглаживание лучше

Общая схема временного сглаживания.

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

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

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

Какое сглаживание лучше

Самый популярный алгоритм TAA.

Временное сглаживание (Temporal AA) может создавать избыточное размытие, а также проблему под названием ghosting, при которой края движущихся объектов выглядят размазанными, а не смягчёнными.

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

Кроме использования значений скоростей, большинство реализаций алгоритма TAA выполняют ещё один процесс проверки сэмплов истории; это не позволяет использовать значения из предыдущих кадров, не относящиеся к текущему кадру (например, они могут оказаться скрытыми за сдвинувшимся объектом). В этой методике обычно используется ограничивающий параллелепипед, выровненный по координатным осям (axis-aligned bounding box, AABB), в котором по осям отложена хроматичность буфера истории; она отсекает все пиксели, имеющие цвет за пределами этих границ.

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

Какое сглаживание лучше

Без AA (слева) и TAA (справа) — обратите внимание на размытие деталей на крыле

Для разработчиков кодировать всё это значительно сложнее, чем добавить в игру SSAA или MSAA. Но современные GPU способны быстро вычислять все необходимые шейдеры; в то время как алгоритмы supersampling и multisampling для каждого кадра требуют множества сэмплов, TAA, по сути, распределяет эти сэмплы на несколько кадров. Это означает, что в играх, не сильно ограниченных объёмом вычисляемых шейдеров, TAA можно реализовать ценой относительно малого снижения производительности.

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

И это ещё не всё!

Четыре описанные выше методики, особенно FXAA и TAA, активно используются в играх для PC и консолей. Но есть и множество других алгоритмов.

Например, когда Nvidia выпустила серию графических карт GeForce 9, то объявила и о создании модифицированной версии MSAA под названием Multi-Frame Sampled Anti-aliasing (MFAA). По сути, GPU изменяет паттерн сэмплирования с каждым последующим кадром, то есть на кадр приходится меньшее количество создаваемых и смешиваемых сэмплов.

Среднее от нескольких кадров и создаваемый эффект практически такие же, как при обычном MSAA, но с меньшим снижением производительности. К сожалению, этот алгоритм можно реализовать в играх, разрабатываемых под руководством Nvidia, и он недоступен во всех проектах. Однако он всё равно существует и его можно включить в панели управления драйвером GeForce.

Позже этот разработчик GPU вложил значительные ресурсы в разработку алгоритма сглаживания с использованием искусственного интеллекта под названием Deep Learning Super Sampling (DLSS), впервые появившегося в 2018 году вместе с выпуском чипов Turing.

В первой версии DLSS компания Nvidia должна была обучать нейросеть глубокого обучения (DNN) на конкретных играх сравнением кадров низкого разрешения с кадрами в высоком разрешении со включенным SSAA. Современная версия использует более обобщённую сеть и получает дополнительную информацию в виде векторов движения для определения того, как должен выглядеть кадр, как если бы он рендерился с более высоким разрешением.

Какое сглаживание лучше

Хотя основное преимущество DLSS заключается в повышении производительности (например, рендеринг выполняется при 1080p, но нейросеть повышает разрешение до 1440p), система, по сути, применяет AA, потому что её целевыми данными является изображение.

AMD сейчас работает над собственной версией такой системы и после её выпуска мы можем наконец увидеть, как алгоритмы AA с глубоким обучением постепенно заменяют традиционные, но пока этого не случилось. Такие системы реализовать не проще, чем, допустим, TAA, а визуальные результаты не всегда идеальны.

Исследования более совершенных техник сглаживания продолжаются, но мы и так уже проделали длинный путь со времён Riva TNT и Half-Life, когда нам приходилось мириться с зазубренными полигонами, потому что на их устранение не хватало производительности.

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

Источник

Сглаживание в играх

Какое сглаживание лучше

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

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

Как всегда две версии: видео и текстовая.

Какое сглаживание лучше

Зачем оно нужно?

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

Какое сглаживание лучше

Какое сглаживание лучше

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

Какое сглаживание лучше

Какое сглаживание лучше

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

Какое сглаживание лучше

Какое сглаживание лучше

Поэтому при сглаживании мы и используем соседние пиксели, которые могли бы сгладить всё это подходящим оттенком. Но мало просто иметь возможность задать полутона, нужно каким-то образом машине объяснить, какие для этого цвета вообще нужно объединить и где их применять.

Какое сглаживание лучше

Сглаживание в играх

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

Это важно понимать ведь в зависимости от алгоритма, сглаживание может применяться как к готовому 2D кадру, так и на этапе создания 3D сцены что по итогу влияет на качество изображение, а также на нагрузку системы.

SSAA (SuperSample Anti-Aliasing)

Самое простое, самое качественное и самое прожорливое, всё это про сглаживание SSAA, или как его ещё называют метод избыточной выборки.

Данный алгоритм отрисовывает нашу сцену в более высоком разрешение для того, чтобы собрать данные о границах объектов. После этого уменьшает сцену в родное разрешение и применяет полученные данные для создания полутонов. Для того что бы подбор цветов был наиболее правильным, вместе с объектами сразу отрисовываются все тени, источники освещения, текстуры и т.д. Что как не трудно догадаться увеличивает ресурсозатратность. Однако это даёт лучший результат из всех.

Если упростить все вышесказанное, то: при SSAA x4, наше изображение увеличивается в 4 раза. То есть наш один физический пиксель делится на 4 виртуальных. И уже с помощью слияния цветов виртуальных пикселей получается нужный полутон для нашего объекта.

Какое сглаживание лучше

Какое сглаживание лучше

Какое сглаживание лучше

Какое сглаживание лучше

Но главная проблема данного алгоритма заключена в том, что он применяется ко всему кадру! То есть, те объекты, которые находятся за гипотетической стеной и скрыты от глаз игрока, всё ровно будут подвергаться сглаживанию. И именно по этой причине данный алгоритм является самым требовательным.

MSAA (MultiSample Anti-Aliasing)

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

Больше не отрисовываются объекты, которые не видит игрок. Так же было решено изменить то, к чему применять сглаживание. Ведь SSAA применял сглаживание ко всему в кадре, в то время как MSAA применяет его только к границам объектов. Что по итогу сделало сглаживание чуть хуже, но за то довольно ощутимо снизило нагрузку на видеокарту.

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

Какое сглаживание лучше

Следующие алгоритмы, про которые пойдёт речь, применяются к готовому 2D кадру, что в разы снижает требование к системе, но также и качество сглаживание. Данные методы убирают лесенки, но дают «любимое» многими мыло.

FXAA (Fast approXimate Anti-Aliasing)

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

Если по-простому, то наш условный персонаж в тёмной одежде, находится на ярком фоне. Наш алгоритм благодаря резкой смене яркости определяет границы объекта. И красит пограничные пиксели в градиент от яркого цвета фона, в тёмный цвет персонажа за счёт чего и получается сглаживание.

Какое сглаживание лучше

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

Какое сглаживание лучше

SMAA (Subpixel Morphological Anti-Aliasing)

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

В наследство от MLAA достались паттерны – Z, U, L. Но этого было недостаточно, и были добавлены разные диагональные паттерны, с помощью которых делается более точное определение границы объекта и плюс к этом производится отсечение тех участков изображения, где сглаживание необходимо от тех, где оно ненужно ведь там должен быть острый угол.

Какое сглаживание лучше

Нагрузка на систему при использовании данного алгоритма чуть выше, чем у FXAA, но и качество лучше. Мыло хоть и не исчезло окончательно, но его явно стало меньше.

TXAA\TAA (Temporal Anti-Aliasing)

Временное приблизительное сглаживание, так же, как и FXAA разработано компанией Nvidia. Информации по тому, как работает этот алгоритм немного. Из того, что есть можно понять, что данный метод имеет в себе MSAA, но он применяется не каждому кадру, а условно через каждые 3. А те кадры, которые не подверглись алгоритму MSAA, используют данные из предыдущих.

По заверениям людей из Nvidia, качество TXAA x2 будет сопоставимо MSAA x8, но при этом потреблять ресурсов он будет как MSAA x2. И в целом — это так, но с двумя оговорками. Первая иногда можно заметить шлейфы у объектов, это как раз те самые участки предыдущих кадров, которые ещё не успели выгрузиться из памяти видеокарты. И вторая, изображение с данным алгоритмом мылится, особенно те объекты, которые находятся близко к игроку.

Источник

Графика в играх: окклюзия, сглаживание, фильтрация — Как и с чем её едят

Какое сглаживание лучше

Приветствую всех Стопгеймеров! Давайте начистоту, вы ведь тоже заходите в только купленную игру, но сперва кликаете на графические настройки? Кто ради чего, кому-то ради самоутверждения надо глянуть на ультра-автонастройку благодаря своему мощному «железу», а кто-то просто лезет туда ради интереса.Однако, задумывались ли вы, чем отличаются FXAA и TXAA, или 8х и 16х анизотропная фильтрация? Как-раз в этом блоге, группа Abuse Reviews сейчас вам расскажет и покажет, что же это за фильтрации такие, как они работают и с чем их едят. Поехали!

Какое сглаживание лучше

P.S.
прошлом блоге количество материала в ролике было урезано, здесь эта ошибка была учтена, очень старался для вас.Приятного просмотра)
Давайте начнём с самого-самого простого

Разрешение экрана
Какое сглаживание лучше
Мало кто не знает, что разрешение — это количество отображаемых пикселей по горизонтали и вертикали. От этой настройки также зависит качество картинки и то, как сильно будут выражены «лесенки» в переходах между разными плоскостями\поверхностями. Но почему же возникает этот графический артефакт? Дело в том, что все графические элементы в играх состоят из пикселей, но таких проблем с прямыми линиями не происходит, но стоит только чуть её наклонить, как появляются «лесенки». Возникает это из-за отсутствия плавного перехода между цветами, которое обеспечивает сглаживание, вот о нём мы сейчас и поговорим.

Сглаживание
Какое сглаживание лучше
Самое главное его предназначение — борьба с теми самыми «ступеньками», которые все так не любят. Сглаживание обеспечивает нам плавный переход между цветами, за счёт чего изображение получается куда комфортнее, устраняя «ступеньки». Да, картинка однозначно становится красивой, но всегда приходится чем-то жертвовать, а именно производительностью. За счёт появления новой задачи, процессору и видеокарте приходится рендерить(обрабатывать) все эти дополнительные оттенки, которое даёт нам сглаживание. Но, к счастью, существует много видов сглаживания, которые предоставляют нам разработчики в настройках. Их то мы сейчас и рассмотрим:

Этот вид сглаживания не слишком сильно нагружает процессор, потому что он обрабатывает лишь те части кадра, которые выглядели бы неровными, а выбирает он эти части независимо от того, где и как они располагаются. Это самый быстрый и менее затратный в плане ресурсов метод сглаживания. Отличие от прошлого метода сглаживания заключается в нескольких аспектах. В первую очередь, FXAA применяется к изображению в том разрешении, в котором вы играете, также размывает картинку сильнее, что выглядит совсем не лучше, чем MSAA, зато расходует на порядок меньше ресурсов, из-за чего этот вид сглаживания почти не вредит вашему FPS
Пожалуй, это лучший вид сглаживания, который сильно похож на MSAA, но с некоторыми дополнениями. Дело в том, что TXAA учитывает и берёт в расчёт предыдущие кадры и сглаживает последующие путём усреднения цветов.
Да, это не вид сглаживания, но избавляется от лесенок этот способ довольно неплохо, но при одном условии, которое свойственно не каждому пк. Ведь не у всех есть 2\4К мониторы, которые позволяют увеличить разрешение больше 1920х1080. За счёт уменьшения пикселей «лесенки» остаются, но становятся куда меньше, однако это влияет на производительность больше всего из перечисленных способов. Так что этот метод подойдёт только обладателям мониторов с очень высоким разрешением и мощным железом. Забавно слушать легенды о том, что если поставить 2к или 4к разрешение в игре на FullHD мониторе, то картинка станет лучше. Решил я это проверить на примере GTA V и что-то не увидел разницы до и после, ни в фреймрейте, ни качестве.
Какое сглаживание лучше
Проблем никогда не бывает мало. В этом случае нет никаких исключений, ведь кроме «ступенек» встречается такой артефакт, как разрыв картинки. Это происходит, когда ваши монитор и видеокарта пытаются работать синхронно, но по какой-то причине эти парни не могут этого сделать, причиной является частота кадров и частота обновления монитора. К примеру, вы находитесь в какой-то загруженной локации, а ваша видеокарта старается держать стабильную частоту, в то время как монитор обновляет изображение на одной и той же частоте. Если они не синхронизируются между собой, то как раз и появляется такой разрыв. И для решения этой проблемы предназначен следующий параметр:

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

На этом о проблемах картинки и артефактах — всё

Тесселяция
Какое сглаживание лучше
Тут стоит обратить внимание на контур головы 47-го

А вот она создана не для того чтобы исправлять косяки в картинке, а улучшать её и делать более насыщенной и реалистичной. Многие из нас знают, что 3д-объекты в играх состоят из полигонов (мелких частиц). Тесселяция подразумевает разбиение полигонов на более мелкие части, чтобы генерировать больше деталей у объекта. Это особенно удобно для выделения высоты и глубины объектов. Также она способствует созданию более закругленных объектов без острых форм и углов.

Окклюзия окружения (Ambient Occlusion)
Какое сглаживание лучше
Лично я занимаюсь созданием 3д-моделей в Cinema 4D и довольно хорошо знаком с этой фичей. Какое сглаживание лучше Она позволяет создавать искусственные тени, таким образом, в идеале, геймдизайнеры и создатели 3д-анимаций предпочитают использовать движки, поддерживающие функцию глобального освещения, которое позволяет создавать освещение идентичное реальному, а всё благодаря вычислениям точных оттенков каждого из пикселей, в зависимости от общего количества света, попадаемого на него. Знаю, что звучит это сложновато, но как же это преобразовывает картинку… словами не описать. Такое освещение очень подходит для различных кинематографичных сцен в мультфильмах или кат-сцен в играх, но это оказывает очень сильную нагрузку на железо, но на то у нас и есть окклюзия окружения, которая создаёт искусственные тени там, где они должны располагаться.
Для начала стоит разобраться с освещением в играх. В них источником света является естественное освещение, которое является упрощённой версией глобального освещения, где расположение теней зависит от того, есть ли перед источником естественного освещения какое-либо препятствие, но это даёт нам более плоские тени в меньшем количестве, чем хотелось бы. Тут и наступает триумф окклюзии окружения, ведь она определяет расположение дополнительных теней с поммощью трассировки лучшей, а именно вычисляет, сколько солнечных лучшей блокируется рядом со стоящими объектами. То есть, если один объект загораживает другой, то поверхность второго объекта, разумеется, будет находиться в тени. Впадины, углубления и тому подобное начинает больше выделяться с помощью окклюзии.В огромном большинстве случаев этот параметр уже «вшит» в графические настройки, что не позволяет включать и выключать его. Но это всё окклюзия окружения в общем. Наверняка вы все сталкивались с такими параметрами освещения как SSAO,HBAO и HDAO?

Она взяла своё начало со времён первого Crysis, благодаря компании Crytek, по-сути оно заключается в вычислении глубины каждого пикселя и пытается вычислить количество преград от каждой из выбранных точек. Алгоритм SSAO призван упростить вычислительную сложность алгоритма Ambient occlusion и сделать его подходящим для работы на графических процессорах в режиме реального времени. Вместе с тем качество результирующего изображения у SSAO является худшим, чем в первоначальном Ambient occlusion, так как SSAO использует упрощённые методики рендеринга(обработки изображения).
Имеет тот же принцип работы, что и SSAO но несколько усовершенствованный. Просто вычисления глубины производятся с большим числом выборок, но приходится жертвовать производительностью.
Одно основывается на другом. Таким же образом как SSAO отличается от HBAO, HDAO от HBAO отличается точно тем же, ну и ещё эта окклюзия была представлена нам компанией AMD.
Ну а что по кинематографичности?

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

Ну и последнее о чём хотелось бы рассказать

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

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

Источник

Какое сглаживание лучше SMAA или FXAA.

Что такое сглаживание? Наиболее простой ответ дает Википедия.
Сглаживание (anti-aliasing, AA, антиалязинг, антиалайзинг и тд) — технология, используемая для устранения эффекта «зубчатости», возникающего на краях одновременно выводимого на экран множества отдельных друг от друга плоских, или объёмных изображений. Сглаживание было придумано в 1972 в Массачусетском технологическом институте в Architecture Machine Group.
Что бы вам не пришлось много читать, сразу приведу основные варианты сглаживаний. Точно так же они обычно обозначаются и в играх.
SSAA, MSAA, CSAA, NFAA, FXAA, DLAA, MLAA, SMAA, TXAA.

Начну с самого крутого, правильного качественного и самого «жрущего» сглаживания – SSAA или по-другому — Super-Sampling. Простой пример потребляемых ресурсов этим методом сглаживания: для разрешения 1280×1024 с SSAA 4x необходим экранный буфер такого же размера, как при разрешении 2560×2048 без SSAA. Размытие картинки – НЕТ. Еще этот метод сглаживания называют FSAA. Рекомендую применять владельцам только самых топовых ПК (видеокарт).

MSAA – улучшенный вариант суперсемплинга (SSAA). Практически такой же по качеству, но требующий меньшее количество ресурсов видеокарты, по сравнению с SSAA. Размытие картинки – очень незначительное, практически не уловимое. И хотя этот метод сглаживания требует меньше ресурсов, чем его первый собрат, этот вариант АА так же рекомендуется владельцам топовых видеокарт.

CSAA – разработка NVIDIA. Усовершенствованный (немного) MSAA. Качество картинки примерно на уровне MSAA 8x, но по ресурсам ест как MSAA 4x. Размытие картинки – незначительное, практически не уловимое. Из последних игр, в которых его использовал – Star Wars Battlefront (DICE).

FXAA – известен своим низким требованиям к видеосистеме. Сглаживает вполне прилично, я бы сказал хорошо. Но есть один недостаток, который заметен, скажем, при сравнении с MSAA – «замыливание» картинки. Оно больше, чем среднее. Подойдет для тех, кто не терпит лесенки, но не может себе позволить предыдущие алгоритмы сглаживания.

MLAA – малоизвестный алгоритм сглаживания. Единственный алгоритм, который работает за счет процессора, а не видеокарты. Он не зависит от сложности сцены, так что можно гарантировать отсутствие «подтормаживаний» в любой момент. Intel позиционирует MLAA как конкурента MSAA. Если судить объективно, MSAA работает немного медленней, но и качественней. По сравнению MLAA с FXAA первый будет медленнее, но при этом качество картинки – без заметного «замыливания».

SMAA – смесь FXAA и MLAA. По скорости находится между FXAA и MSAA. По качеству – картинку практически не блюрит.

TXAA – новый алгоритм сглаживания. Сочетает преимущества MSAA и FXAA. Разработка NVIDIA. Сглаживает ОЧЕНЬ качественно. TXAA 4x = MSAA 8x. Хотя порой первый даже лучше. НО. TXAA «мылит» картинку. «Блюрит» ее. И если сравнивать с MSAA – последний выглядит лучше.

Кстати. В разрешении 4k сглаживание порой вовсе не требуется. Либо можно применить самое простое CSAA или MSAA 2x. Не более. Интересно, как сложится картина лет через 5-7, когда 4k разрешение приобретет массовость. Я специально не стал приводить примеры комбинирования разных методов сглаживания, что бы не вызвать у вас путаницы.

Источник

Какое сглаживание лучше

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

Изображение, которое вы видите на экране, состоит из пикселей. Разрешение — это количество пикселей в строке, где первое число — их количество по горизонтали, второе — по вертикали. В Full HD эти числа — 1920 и 1080 соответственно. Чем выше разрешение, тем из большего количества пикселей состоит изображение, а значит, тем оно четче и детализированнее.

Влияние на производительность

Очень большое.Увеличение разрешения существенно снижает производительность. Именно поэтому, например, даже топовая RTX 2080 TI неспособна выдать 60 кадров в 4K в некоторых играх, хотя в том же Full HD счетчик с запасом переваливает за 100. Снижение разрешения — один из главных способов поднять FPS. Правда, и картинка станет ощутимо хуже.

В некоторых играх (например, в Titanfall) есть параметр так называемого динамического разрешения. Если включить его, то игра будет в реальном времени автоматически менять разрешение, чтобы добиться заданной вами частоты кадров.

Вертикальная синхронизация

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

Вертикальная синхронизация исправляет эту проблему. Это синхронизация частоты кадров игры с частотой развертки монитора. То если максимум вашего монитора — 60 герц, игра не будет работать с частотой выше 60 кадров в секунду и так далее.

Есть и еще одно полезное свойство этой опции — она помогает снизить нагрузку на «железо» — вместо 200 потенциальных кадров ваша видеокарта будет отрисовывать всего 60, а значит, загружаться не на полную и греться гораздо меньше.

Впрочем, есть у Vsync и недостатки. Главная — очень заметный «инпут-лаг», задержка между вашими командами (например, движениями мыши) и их отображением в игре.

Поэтому играть со включенной вертикальной синхронизацией в мультипеере противопоказано. Кроме того, если ваш компьютер «тянет» игру при частоте ниже, чем заветные 60 FPS, Vsync может автоматически «лочиться» уже на 30 FPS, что приведет к неслабым таким лагам.

Лучший способ бороться с разрывами изображения на сегодняшний день — купить монитор с поддержкой G-Sync или FreeSync и соответствующую видеокарту Nvidia или AMD. Ни разрывов, ни инпут-лага.

Влияние на производительность

В общем и целом — никакого.

Сглаживание(Anti-aliasing)

Если нарисовать из квадратных по своей природе пикселей ровную линию, она получится не гладкой, а с так называемыми «лесенками». Особенно эти лесенки заметны при низких разрешениях. Чтобы устранить этот неприятный дефект и сделать изображения более четким и гладким, и нужно сглаживание.

Здесь и далее — слева изображение с отключенной графической опцией (или установленной на низком значении), справа — с включенной (или установленной на максимальном значении).

Технологий сглаживания несколько, вот основные:

Влияние на производительность

От ничтожного (FXAA) до колоссального (SSAA). В среднем — умеренное.

Качество текстур

Один из самых важных параметров в настройках игры. Поверхности всех предметов во всех современных трехмерных играх покрыты текстурами, а потому чем выше их качество и разрешение — тем четче, реалистичнее картинка. Даже самая красивая игра с ультра-низкими текстурами превратится в фестиваль мыловарения.

Влияние на производительность

Если в видеокарте достаточно видеопамяти, то практически никакого. Если же ее не хватает, вы получите ощутимые фризы и тормоза. 4 гигабайт VRAM хватает для подавляющего числа современных игр, но лучше бы в вашей следующей видеокарте памяти было 8 или хотя бы 6 гигабайт.

Анизотропная фильтрация

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

Чем выше степень фильтрации, чем четче будут поверхности в отдалении.

Этот параметр влияет на общее качество картинки довольно сильно, но систему при этом практически не нагружает, так что в графе «фильтрация текстур» советуем всегда выставлять 8x или 16x. Билинейная и трилинейная фильтрации уступают анизотропной, а потому особенного смысла в них уже нет.

Влияние на производительность

Тесселяция

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

Влияние на производительность

Зависит от игры, от того, как именно движок применяет ее к объектам. Чаще всего — среднее.

Качество теней

Все просто: чем выше этот параметр, тем четче и подробнее тени, отбрасываемые объектами. Добавить тут нечего. Иногда в играх также встречается параметр «Дальность прорисовки теней» (а иногда он «вшит» в общие настройки). Тут все тоже понятно: выше дальность — больше теней вдалеке.

Влияние на производительность

Зависит от игры. Чаще всего разница между низкими и средними настройками не столь велика, а вот ультра-тени способны по полной загрузить ваш ПК, поскольку в этом случае количество объектов, отбрасывающих реалистичные тени, серьезно вырастает.

Глобальное затенение (Ambient Occlusion)

Один из самых важных параметров, влияющий на картинку разительным образом. Если вкратце, то AO помогает имитировать поведения света в трехмерном мире — а именно, затенять места, куда не должны попадать лучи: углы комнат, щели между предметами и стенами, корни деревьев и так далее.

Существует два основных вида глобального затенения:

SSAO (Screen space ambient occlusion). Впервые появилось в Crysis — потому тот и выглядел для своего времени совершенно фантастически. Затеняются пиксели, заблокированные от источников света.

HBAO (Horizon ambient occlusion). Работает по тому же принципу, просто количество затененных объектов и зон гораздо больше, чем при SSAO.

Влияние на производительность

Глубина резкости (Depth of Field)

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

Впрочем, иногда DoF только мешает — складывается впечатление, что у героя близорукость.

Влияние на производительность

Целиком и полностью зависит от игры. От ничтожного до довольно сильного (как, например, в Destiny 2).

Bloom (Свечение)

Этот параметр отвечает за интенсивность источников света в игре. Например, с включенным Bloom, свет, пробивающийся из окна в помещение, будет выглядеть куда ярче. А солнце создавать натуральные «засветы». Правда, некоторые игры выглядят куда реалистичнее без свечения — тут нужно проверять самому.

Влияние на производительность

Чаще всего — низкое.

Motion Blur (Размытие в движении)

Motion Blur помогает передать динамику при перемещениях объекта. Работает он просто: когда вы быстро двигаете камерой, изображение начинает «плыть». При этом главный объект (например, руки персонажа с оружием) остается четким.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *