Войти
03.08.2020
84
70139

Да кто такой этот ваш MSAA и SSAA?!

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

Что такое сглаживание?

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

Далеко не каждую 2D фигуру можно создать только при помощи квадратов и линий под прямым углом, а о трёхмерных объектах нечего и говорить. Так что проблема сглаживания существует в играх как сейчас, так и тридцать лет назад — вам не хуже меня видно, где стоило бы сгладить Лару Крофт.

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

Первый — это увеличить разрешение. Тогда на один экранный дюйм будет приходиться больше пикселей, и вероятность увидеть резкие переходы снизится: не зря сейчас индустрия потихоньку переходит на 4к. За ним последует 8к, потом 16к, и в конце концов вы скорее разглядите пиксели на оконном стекле, чем на экране. К сожалению, подобная роскошь кусается как в плане цены, так и в плане производства, а сорок лет назад не было даже возможности создать экран с таким разрешением. Поэтому пришлось придумать второй способ.

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

Как это работает?

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

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

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

SSAA — тираннозавр

SSAA, или Supersample anti-aliasing, ещё обзывают FSAA — full scene anti-aliasing. В переводе эти страшные слова означают, что SSAA сглаживает изображение в игре ещё на этапе построения сцены.

Принцип его работы прост: сначала создаётся изображение с разрешением в 2, 4 или 8 раз больше исходного, а затем сжимается обратно до нужного размера. Кратность увеличения вы выбираете сами — множитель возле SSAA как раз и означает, во сколько раз вырастет предварительное изображение. Чем оно больше, тем сложнее справиться с этим вашей видеокарте, но и тем лучше выйдет итоговая картинка. Есть у этого способа и минус — самые простые линии из-за него становятся размытыми.

Это одна из самых старых технологий сглаживания, но не самая популярная — очень уж она голодна до ваших FPS и мощностей видеокарты. Тем не менее, SSAA продержалась на плаву аж до DirectX 7, а потом производители видеокарт отдали предпочтение менее требовательному MSAA. Если подытожить, то SSAA даёт на выходе более высокое качество изображения, хоть и жрёт больше ресурсов. Именно поэтому он до сих пор не забыт и трудится у AMD (в Radeon HD6xxx series) и в драйверах Fermi для Nvidia.

MSAA — бюджетный вариант

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

Благодаря такой выборочной работе нагрузка на видеокарту ощутимо снижается. И даже 8х MSAA обрабатывается легче, чем 4х SSAA. И это при практически одинаковом качестве картинки на выходе!

FXAA — младший брат

FXAA, или Fast approXimate anti-aliasing — это метод сглаживания, придуманный Nvidia. Он обнаруживает резкую смену цветов и сглаживает именно эти проблемные места, а не всё изображение целиком. Увы, у этого вида сглаживания очень замыливаются далёкие объекты — из-за своих небольших размеров они становятся практически неразличимыми на общем фоне.

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

MLAA — разделяй и властвуй

MLAA, или MorphoLogical anti-aliasing в переводе — морфологическое сглаживание. Это технология Intel, поэтому она — единственная из всех — пожирает силы процессора, а не видеопамяти, так что на ваши FPS никто покушаться не будет.

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

SMAA — всегда в форме

SMAA, или Subpixel Morphological anti-aliasing — это, по большому счёту, смесь FXAA и MLAA. Алгоритм работает по принципу MLAA, но нагружает обработкой видеокарту, а не процессор.

Преимущество этого метода в том, что он умеет находить края объектов и при сглаживании не нарушает их форму и геометрию. Это требует больших мощностей, но зато и результат получается достойным. SMAA чаще всего выдаёт изображение, сравнимое по качеству с MLAA или SSAA 16x.

TXAA — мыльное кинцо

TXAA, или Temporal approXimate anti-aliasing — ещё одна технология от Nvidia, в которой смешались MSAA и SMAA. Главная её фича в том, что при сглаживании картинки она использует уже отрисованные кадры, что значительно сокращает время обработки изображения. При этом она, как и SSAA, создаёт картинку в большем размере, а потом подгоняет её под разрешение вашего монитора.

Это сглаживание обещает нам «кинематографическое качество» картинки и много FPS… И с этим трудно поспорить — TXAA 2x создаёт картинку качества MSAA 4x с нагрузкой от MSAA 2x. Звучит, конечно, отлично (и немного непонятно, да), и итоговое изображение действительно выглядит очень качественно, но, увы, появляется заметное мыльцо.

Ничего не понял, но очень интересно

Получается, что любая технология сглаживания — это очень крутой костыль от разработчиков. Раз нельзя сделать невозможное (запихнуть квадратное в круглое), они просто обманывают наше зрение, «размыливая» картинку по краям до золотой середины, чтобы линия казалась плавной, но не была слишком размытой. И все эти MSAA и SMAA — это компромисс между мылом, сглаживанием и нагрузкой на железо. Если же вы хотите идеально чёткое изображение, то придётся либо смириться с «лесенками», либо ждать 256к мониторы.

Ну и чё врубать-то? Этот философский вопрос будет покруче всех этих ваших платформосрачей. Потому что мы и сами не знаем. И никто не знает.

Всё очень индивидуально — если вы гордый владелец мощного компа с 4к экраном, то можете спокойно использовать самые крутые и ресурсоёмкие SSAA и TXAA. Если ваш калькулятор уже на последнем издыхании, то лучше не нагружать старичка лишний раз и потерпеть лесенки или, на свой страх и риск, включить FXAA. А если ваше железо где-то посерединке между «Вау, вот это комп!» и «Мме, ну и комп...», то можете попробовать MLAA или SMAA, что-нибудь, да сработает.

Александра Solongoy
Да кто такой этот ваш Solongoy?!
почитать еще
комментарии 84

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

Свернуть  3
До 1000 символов
Комментарий удален.
До 1000 символов

Если правильно помню, то еще эту статью можно и послушать)

До 1000 символов
Комментарий удален.
До 1000 символов

В таком случаи, похоже я слишком долго откладывал ее прочтение ;))))

До 1000 символов
Комментарий удален.
До 1000 символов

Лучше поздно, чем никогда!

До 1000 символов
Комментарий удален.
До 1000 символов
13.Mar.2021 в 05:59
2
0

Отличная статья! Теперь не буду тратить время на выбор этих буковок для большей производительности)

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
13.Mar.2021 в 06:01
Sayonara
0
1

Рады, что вам понравилось. :)

До 1000 символов
Комментарий удален.
До 1000 символов
1
2

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

 7
До 1000 символов
Комментарий удален.
До 1000 символов
05.Mar.2021 в 20:45
1
2

Я тоже нечего не понял, но очень интересно! Было сложно, но узнал немного нового для себя. ;)

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
05.Mar.2021 в 21:45
Seta Sojiro
1
0

И это здорово ;)

До 1000 символов
Комментарий удален.
До 1000 символов
05.Mar.2021 в 00:08
2
1

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

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
05.Mar.2021 в 00:11
Muctep_kpabs
1
0

И разве это не круто? Приятной вам игры! :)

До 1000 символов
Комментарий удален.
До 1000 символов
16.Nov.2020 в 13:55
0
1

Кратко более менее понятно ????????

Свернуть  5
До 1000 символов
Комментарий удален.
До 1000 символов
16.Nov.2020 в 14:17
>Az@zel.
4
0

Надеюсь, вы почерпнули для себя кое-какие интересные факты)

У нас, кстати, есть еще одна статья на похожу тематику, может, вас заинтересует: https://gabestore.ru/blog/da-kto-takoj-etot-vash-dlss

До 1000 символов
Комментарий удален.
До 1000 символов
16.Nov.2020 в 14:24
Сергей Макеев
0
1

Я ее уже читал

До 1000 символов
Комментарий удален.
До 1000 символов
16.Nov.2020 в 14:50
>Az@zel.
2
0

Понравилась?)

До 1000 символов
Комментарий удален.
До 1000 символов
16.Nov.2020 в 14:56
Сергей Макеев
1
0

Да довольно неплоха статья главное что коротко, я не любитель чтения, но бывает что статья очень интересна и позновательна для общего развития.

До 1000 символов
Комментарий удален.
До 1000 символов
16.Nov.2020 в 17:42
>Az@zel.
2
0

Здорово! Надеюсь, Александра заметит ваш комментарий - уверен, ей будет очень приятно ^_^

До 1000 символов
Комментарий удален.
До 1000 символов
04.Nov.2020 в 14:58
9
1

Ниче непонятно, но очень интересно

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
1
1

Уже неплохо для статьи)))

До 1000 символов
Комментарий удален.
До 1000 символов
09.Oct.2020 в 19:49
3
0

Познавательно, никогда не вкуривал, что такое сглаживание и с чем его едят

Свернуть  2
До 1000 символов
Комментарий удален.
До 1000 символов
09.Oct.2020 в 19:55
KaratFOX
0
0

Надеюсь, статья ответила на все ваши основные вопросы :)

До 1000 символов
Комментарий удален.
До 1000 символов
09.Oct.2020 в 21:38
Сергей Макеев
1
0

Безусловно)

До 1000 символов
Комментарий удален.
До 1000 символов
07.Oct.2020 в 11:58
0
0

Надо будет поэксперементировать со сглаживанием...

Свернуть  2
До 1000 символов
Комментарий удален.
До 1000 символов
07.Oct.2020 в 12:47
RPG_MAN
0
0

Поделитесь потом результатами эксперимента - сильно ли почувствовали разницу или нет)

До 1000 символов
Комментарий удален.
До 1000 символов
07.Oct.2020 в 12:54
Сергей Макеев
0
0

Хорошо)

До 1000 символов
Комментарий удален.
До 1000 символов
22.Sep.2020 в 13:19
2
0

Особых различий не заметил , но видно что автор старался!)

Свернуть  2
До 1000 символов
Комментарий удален.
До 1000 символов

Что-нибудь интересное для себя открыли?)

До 1000 символов
Комментарий удален.
До 1000 символов
1
0

Да

До 1000 символов
Комментарий удален.
До 1000 символов
22.Sep.2020 в 09:00
0
0

КрутА! СпасибкЕ

Свернуть  2
До 1000 символов
Комментарий удален.
До 1000 символов
22.Sep.2020 в 11:41
ArtKater
0
0

Рад, что статья вам понравилась. Надеюсь, вы почерпнули из нее много полезного :)

До 1000 символов
Комментарий удален.
До 1000 символов
22.Sep.2020 в 15:43
Сергей Макеев
1
0

Так и есть ',:)

До 1000 символов
Комментарий удален.
До 1000 символов
21.Sep.2020 в 20:23
0
0

Звучит хайпово

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
21.Sep.2020 в 21:16
Aeolian
0
0

И с каким сглаживанием хайпуете? :D

До 1000 символов
Комментарий удален.
До 1000 символов
20.Sep.2020 в 15:46
0
0

Спасибо за статью)

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
0
0

Рады, что вам понравилось! :)

До 1000 символов
Комментарий удален.
До 1000 символов
06.Sep.2020 в 10:50
0
1

збс

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
0
1

А вы с каким сглаживанием играете? :)

До 1000 символов
Комментарий удален.
До 1000 символов
28.Aug.2020 в 19:55
2
1

вот это познавательно , я думал многое знаю о графике в играх но оказвается это не так , спасибо Гейбстор узнал что то новое

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
28.Aug.2020 в 19:59
Roy Sec
2
1

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

До 1000 символов
Комментарий удален.
До 1000 символов
27.Aug.2020 в 15:02
1
1

Всегда можно потыкать в разные варианты, посмотреть на картинку и производительность.

До 1000 символов
Комментарий удален.
До 1000 символов
22.Aug.2020 в 16:41
2
1

Спасибо за статью)

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
24.Aug.2020 в 14:20
Batman
1
1

И вам спасибо, что уделили ей время и почитали ^_^

До 1000 символов
Комментарий удален.
До 1000 символов
21.Aug.2020 в 19:11
1
1

Включил рандомайзер и поехал играть с чем выпало

До 1000 символов
Комментарий удален.
До 1000 символов
16.Aug.2020 в 17:17
1
1

Не вижу никакой разницы, так что не зря никогда не придавал значение этому

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов

Я вот тоже за то, чтоб не париться о таких вещах :D

До 1000 символов
Комментарий удален.
До 1000 символов

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

До 1000 символов
Комментарий удален.
До 1000 символов
11.Aug.2020 в 20:28
1011
10
0
1

Ничего не понял, но статья понравилась

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
12.Aug.2020 в 15:08
1011
2
0

Самое главное, что понравилась, а остальное уже не так важно :D

До 1000 символов
Комментарий удален.
До 1000 символов
10.Aug.2020 в 11:20
0
0

Играю на компе на котором надо все настройки ставить на ВЫКЛ.
класс, спасиба

До 1000 символов
Комментарий удален.
До 1000 символов
09.Aug.2020 в 10:52
0
0

Спасибо за интересную информацию

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
1
0

Рад, что информация оказалась интересной и, надеюсь, полезной)

До 1000 символов
Комментарий удален.
До 1000 символов
08.Aug.2020 в 22:07
1
0

"...чтобы линия казал!о!сь плавной..."
Кажется, тут опечатка=)
А за статью спасибо, Александра Solongoy! Всё очень гладко

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов

Спасибо, поправил)

До 1000 символов
Комментарий удален.
До 1000 символов
08.Aug.2020 в 20:07
0
0

Мой комп курит а сторонке

До 1000 символов
Комментарий удален.
До 1000 символов
04.Aug.2020 в 08:37
1
0

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

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов

Спасибо, что не поленились почитать нашу статью :)

До 1000 символов
Комментарий удален.
До 1000 символов
04.Aug.2020 в 01:22
3
0

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

До 1000 символов
Комментарий удален.
До 1000 символов
03.Aug.2020 в 22:57
0
0

Кстати, спасибо большое, что в конце статьи добавили ссылки на игры! Очень удобно.

Свернуть  2
До 1000 символов
Комментарий удален.
До 1000 символов

Надеюсь, теперь это всегда будет так)

До 1000 символов
Комментарий удален.
До 1000 символов

Это всегда так и было :)

До 1000 символов
Комментарий удален.
До 1000 символов
03.Aug.2020 в 22:57
0
0

Аж захотелось поиграть в Control с MSAA 4х)

До 1000 символов
Комментарий удален.
До 1000 символов
03.Aug.2020 в 21:19
0
0

Спасибо за интересную информацию

До 1000 символов
Комментарий удален.
До 1000 символов
03.Aug.2020 в 20:52
3
0

Ура, новая статья!

Свернуть  2
До 1000 символов
Комментарий удален.
До 1000 символов
1
0

Ждали всем офисом

До 1000 символов
Комментарий удален.
До 1000 символов

Считали дни, часы, минуты до выхода!

До 1000 символов
Комментарий удален.
До 1000 символов
03.Aug.2020 в 19:50
0
0

Познавательно, спасибо за пояснение.

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов

И вам спасибо, что почитали)

До 1000 символов
Комментарий удален.
До 1000 символов
03.Aug.2020 в 19:01
1
0

Прекрасный, познавательный контент, достойно уважения

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
07.Aug.2020 в 16:23
Макс Старк
1
0

Пиу-пиу

До 1000 символов
Комментарий удален.
До 1000 символов
03.Aug.2020 в 18:43
QUTEEX
26
1
0

Неплохо, хоть и знал, но подано всё довольно грамотно!

До 1000 символов
Комментарий удален.
До 1000 символов
03.Aug.2020 в 18:38
1
0

Спасибо за информацию, никогда не понимал, зачем нужно сглаживание)

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов
04.Aug.2020 в 12:58
KaratFOX
0
0

Рад, что материал оказался вам полезен)

До 1000 символов
Комментарий удален.
До 1000 символов
03.Aug.2020 в 18:28
0
0

Хорошая статья, материал хорошо уяснил, но на скриншотах разницы прям не заметил.

До 1000 символов
Комментарий удален.
До 1000 символов
03.Aug.2020 в 16:34
2
1

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

Свернуть  1
До 1000 символов
Комментарий удален.
До 1000 символов

Если открывать оригиналы, разница очевиднее, но да, она не такая уж и большая :)

До 1000 символов
Комментарий удален.
До 1000 символов
03.Aug.2020 в 16:26
3
0

FXAA уже давно считается "бесплатной" технологией наряду с анизитропной фильтрацией. А так, материал понятен и прост в освоении, но давным давно уже есть тонна материалов на эту тему (лучшая, конечно, у Linus Tech Tips).

До 1000 символов
Комментарий удален.
До 1000 символов
03.Aug.2020 в 16:04
3
0

но без хорошего железа ни куда

До 1000 символов
Комментарий удален.
До 1000 символов