Страница 1 из 2

Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 13:12
trionghost
На форуме огромное количество обсуждений где так или иначе всплывает акроним MLAA. Однако складывается стойкое впечатление, что большинство публики просто не понимают о чём идёт речь, и спорят до посинения о том, о чём спорить бесполезно.

Самым распространённым заблуждением является мнение, что MLAA - это такой аналог MSAA/FSAA с жёстко заданным алгоритмом и принципом "включил - испытал заведомо ожидаемый результат". То есть с MSAA всё понятно - умножаем разрешение по горизонтали на два и сжимаем обратно в экран. Лесенок по горизонтали стало в два раза больше, они стали не так заметны. С FSAA - то же самое, только ещё и по вертикали увеличиваем разрешение рендера.

В чём проблема с консолями в этом случае? Да элементарно - в видеокэш XBox 360 (те самые скоростные 10Мб) не влазит кадр с разрешением выше 2x720p, а следовательно на расчёт детализированной картинки с 4xMSAA или 2xFSAA займёт два тайма и вы получите в два раза меньше fps в конечном счёте. Либо вы заведомо обедняете картинку. На PS3 просто видяха плохая в плане насыщенности технологиями и там многие просчёты, под которые у последующих поколений отводились специальные конвейеры приходится делать в обход большой ценой. Поэтому любое нагружение её увеличенным разрешением обходится дорого. Именно поэтому разработчики, пытаясь сделать такое же сглаживание как на боксе теряли FPS и часть важных для отображения технологий и получали худшую мультиплатформу.

Вот на этом месте начались изыскания, как разгрузить видюху. Так как у Cell кроме основного PPC-совместимого ядра PPE есть ещё 7 (6 для игр) векторных ядер SPE. Вот последними первую половину жизни пользовались исключительно внутренние студии, а остальные просто не могли найти им применения.
Позднее разработчики обнаружили, что можно отдавать SPE просчёт пост-эффектов. То есть тех, которые накладываются после того, как кадр уже отрендерён.

Увидев, что SPE успешно справляются с пост-обработкой, разработчикам пришла в голову идея использовать SPE для сглаживания картинки. Начиная с обычного Gaussian Blur, в конечном счёте была найдена подходящая технология - Intel'овская MLAA.

Итак, MLAA - это сглаживание методом пост-обработки, то есть то, которое накладывается на уже отрендерёный кадр. Понятно, что в случае с просчётом на SPE это даёт почти бесплатное сглаживание.

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

Изображение Изображение

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

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

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


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

Отсюда также следует, что даже реализовав алгоритм на XBox 360, плюсов в плане производительности не будет - алгоритм тупо отожрёт процессорные мощности (куда больше, чем на SPE, чтобы избежать задержек) или мощности видеочипа.

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 13:14
Femshep
Щас придут фанбои и будут орать МЫЫЫЛОО. :fu: :fu: :fu:

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 13:15
caramba
Programmer, но это правда мыло :awesome12:

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 13:17
Femshep
Programmer, но это правда мыло :awesome12:
Без него все еще хуже. :lol5:

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 13:18
ApxanrelZl
caramba ept), иксбаксс даже мыло не может потянуть. :yeah:

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 13:19
Toasty
trionghost,

Все отлично, четко расписал. Плюсую. :uwe:

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 13:21
trionghost
caramba ept) писал(а):Programmer, но это правда мыло :awesome12:
Мыло - это когда Гауссово размытие.
Вот пример:

Оригинал
Изображение
MLAA
Изображение
Гауссово размытие:
Изображение

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 13:21
Batman
Со временем выпилят эту хрень из экзов пс3, останется только в мультиплатформе.

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 13:31
caramba
так много писал, а никто даже не комментирует :awesome12: поставлю ка я тебе плюсик :awesome17:

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 13:33
Namaste
КГ\АМ :trollface:

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 13:38
Toasty
Namaste,
пнх/см :trollface:

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 13:47
Diman_101
:clint: :up:

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 13:48
Fantonys
собственно вот текст от отцов http://visual-computing.intel-research. ... a/mlaa.pdf

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 16:08
Volopasov-mihail
, иксбаксс даже мыло не может потянуть. :yeah:
Да ладно ,кто то тут целую статью написал о том что это ps3 не тянет мыло :drake: .

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 16:11
EDDISON
MыLAA :trollface: :trollface: :fu: :yeah: :awesome7:

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 16:13
caramba
EDDISON, :awesome4: :trollface:

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 16:16
Volopasov-mihail
EDDISON, Все правильно так это и звучит но смысл другой :prof:

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 16:17
Dim4ik
Автор - Кэп. Без обид

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 16:19
MadamVandam
Даже больше, Хеви Рейн пенится :prof:

Re: Что такое MLAA или "Для тех, кто в танке".

: 15 июн 2011, 16:23
stayaside
будем знать :yeah: