Обзор и тестирование AMD Mantle
Дискретные графические адаптеры для настольных компьютеров являются во многих отношениях стандартизированными и абсолютно взаимозаменяемыми устройствами. Вы не можете просто так заменить процессор Intel процессором AMD без сопутствующей замены материнской платы (да и в рамках продукции одного производителя регулярно происходит апгрейд платформы — системной логики, разъема, типа оперативной памяти), а графические карты, напротив, можно менять сколько вздумается. Системная шина PCI-E, воцарившаяся на долгие годы, не накладывает на это никаких ограничений. Программная среда для GPU также давно устоялась. Любой видеоадаптер поддерживает API DirectX, а вне ОС Windows эти функции выполняет OpenGL.
С одной стороны, такая ситуация благотворна для производителей. Она сделала возможным непрерывный цикл обновления GPU на более производительные новинки и перемещение линии фронта в конкурентной борьбе AMD и NVIDIA. С другой стороны, любой GPU чрезвычайно трудно дифференцировать от аналогов по какому-либо признаку, помимо производительности, которую он предоставляет в данном ценовом сегменте. Конечно, среди квалифицированных покупателей есть люди с устойчивыми предпочтениями в пользу AMD либо NVIDIA — те самые, которые каждый раз яростно бьются в комментариях к обзорам видеокарт. Это явление сродни азарту футбольного болельщика. Есть и сугубо практические причины любить или отвергать устройства NVIDIA либо AMD, но давайте признаем, что конъюнктура на рынке меняется с каждым новым витком прогресса GPU, подчас совершенно непредсказуемо, а фанаты остаются фанатами.
Менее квалифицированные покупатели, не столь погруженные в технические тонкости, также имеют свои предпочтения. Здесь большое значение имеет имидж производителя и его продукции. NVIDIA и AMD совершенно не похожи в том, какое послание несут потенциальному покупателю. Маркетинг NVIDIA традиционно более силен и настойчив в коммуникации с конечным пользователем. Пользуясь преимуществом в производительности, которое сопутствует марке GeForce на протяжении всей ее истории, за исключением нескольких отдельных периодов неудач, NVIDIA позволяет себе держать относительно высокие цены. Пусть GPU NVIDIA дороже, «но ведь дороже — значит лучше» — таково их скрытое сообщение. AMD сформировала для марки Radeon противоположный имидж. Ценовая политика «красных», как правило, агрессивна во всех сегментах производительности. Массы привыкли думать, что в среднем ценовом диапазоне Radeon — это более экономный аналог GeForce, обладающий сопоставимой производительностью, а наверху Radeon пусть и не столь быстр, как лучшие представители линейки GeForce, зато по-прежнему стоит дешевле.
Между тем с чисто технической точки зрения эпоха 28 нм была триумфальной для AMD. Давненько не было такого, чтобы видеокарты Radeon занимали паритетные позиции с конкурентами от NVIDIA в сегменте High-End. Теперь AMD переходит в масштабное наступление уже на идейном фронте. Недостаточно, чтобы Radeon считали быстрым и доступным. Нужно предложить покупателю нечто уникальное, чего не может дать конкурент.
NVIDIA давно работает в этом направлении. Именно она первой презентовала GPU как ускоритель вычислений: API CUDA. Много усилий и денег было вложено в продвижение технологии PhysX. Во времена бума стереоскопического 3D NVIDIA успешно оседлала волну, выпустив набор 3D VISION. Из последних инициатив — консоль SHIELD с поддержкой трансляции игровой картинки настольного ПК, модуль G-SYNC для дисплеев. Это не считая чисто софтверных технологий, выпущенных NVIDIA в свободный полет: метода сглаживания TXAA и собственной разновидности Ambient Occlusion — HBAO. В общем, NVIDIA пытается выстроить вокруг марки GeForce собственную экосистему.
AMD до поры не занималась чем-либо подобным. Если продукты Radeon и выделялись уникальными характеристиками, то была ранняя поддержка общепринятых стандартов — свежих версий DirectX и портов вывода. Сейчас все резко меняется. AMD выступила с рядом дерзких инициатив — внедрение HSA в APU семейства Kaveri, аппаратный DSP TrueAudio в последних GPU на базе архитектуры GCN и, собственно, Mantle. Что общее у всех трех нововведений — это сугубо технический, фундаментальный характер. AMD в меньшей степени стремится создать экосистему и в большей — дать своим продуктам зримые преимущества, поддерживающие их основную функцию — 3D-рендеринг в играх.
⇡#Низкоуровневый API: от 3dfx до next-gen-консолей
Mantle — чрезвычайно амбициозный шаг. Будучи до сих пор последовательным сторонником стандартных решений, AMD вдруг решила дернуть одеяло на себя, выступив с проприетарным низкоуровневым интерфейсом для GPU на базе архитектуры Graphics Core Next. Такого никто не делал со времен 3dfx и ее API Glide. Но 3dfx был первопроходцем, и создание собственного API для нового класса устройств — 3D-ускорителей — было неизбежным. Сегодня стандарты определены. Вы пишете игры либо под DirectX, либо — под OpenGL. А по факту — DirectX давно одержал победу в Windows. Нужны серьезные основания для того, чтобы поддержать третьего, совершенно незнакомого кандидата.
И такие основания есть. Во-первых, ситуация, в которой Mantle противостоит DirectX, совершенно не похожа на то, как с DirectX когда-то соревновался Glide. Glide уходил в небытие вместе с ускорителями 3dfx. DirectX шел на подъем вместе с продуктами NVIDIA. Позиции AMD, напротив, сильны как никогда. Благодаря архитектуре GCN компания упрочила положение на рынке десктопной графики и, более того, заполучила монополию на поставки GPU для всех консолей нового поколения.
3dfx Glide во всей красе (Quake 3, Voodoo 5 5500)
Собственно, консоли нового поколения — это добрая часть всей истории про API Mantle. Если вкратце, Mantle вполне может оказаться портом низкоуровневого API с Xbox One на PC, хотя официально Microsoft не подтверждает эту гипотезу. Напомним, что мы писали по этому поводу в общем обзоре линейки Radeon R7/R9.
Консоли, будучи платформой изначально ограниченной в производительности и рассчитанной на долгий жизненный срок, побуждают разработчиков по максимуму задействовать вычислительные ресурсы. Происходит это не только за счет оптимизации игрового кода, но и благодаря тому, что для одной и той же консоли, как правило, доступны два API: высокоуровневый (вроде DirectX или OpenGL) и низкоуровневый, который дает прямой доступ к аппаратным ресурсам, минуя уровень абстракции с присущими ему ограничениями и снижением производительности. Возьмем Xbox One. Известно, что в качестве высокоуровневого API там используется не что иное, как DirectX 11.2, а сама ОС является разновидностью Windows. Но неизбежно должен присутствовать и низкоуровневый API графического процессора. Написанный под разновидность Windows… Можно ли считать совпадением, что незадолго до релиза новой консоли от Microsoft AMD представила низкоуровневый API к архитектуре Graphics Core Next для самой популярной десктопной ОС?
Надо признаться, что пока нет прямых подтверждений тому, что Mantle является низкоуровневым API, портированным на Windows прямиком с операционки Xbox One. Вот только предположение выглядит уж очень убедительно. Ведь Mantle даже поддерживает родной для Xbox One Direct3D HLSL (High Level Shader Language). Да и сама AMD как на слайдах презентаций, так и устами своих представителей, не вдаваясь в подробности, говорит о том, что Mantle помогает перенести на ПК оптимизации консольных разработок.
Если верить AMD, низкоуровневый интерфейс программирования GPU — это то, чего разработчики игр под Windows вожделели долгие годы. А коли действительно так, то понятно почему. В целом любой дополнительный уровень абстракции забирает на себя определенную долю производительности, подчас существенную. Прямой доступ к GPU, минуя вызовы DirectX, по определению способен высвободить определенный процент скрытого быстродействия. К тому же AMD лучше, чем кто бы то ни было, осведомлена об особенностях архитектуры GCN и знает, где можно срезать углы.
⇡#Проблема draw calls
Широкой публике известно не очень много технических подробностей о свойствах и конкретных преимуществах Mantle. Да и сам материал по большей части непонятен для публики, далекой от программирования (в особенности программирования 3D-рендеринга). В фокус внимания попал один предмет, которым Mantle наиболее выгодно отличается от DirectX, — draw calls. Количество draw calls — это то, что отличает кадр со множеством отдельных объектов от кадра с немногими сложными объектами, пусть совокупная сложность видимой геометрии у них одинакова. Когда мы видим 3D-модель автомобиля, мы имеем дело с небольшим количеством «крупных» draw calls. Игровая сцена из шутера с массой разлетающихся обломков от взрыва, армия в RTS, толпа игроков в MMORPS — во всех этих случаях используется много «мелких» draw calls. И здесь вполне вероятно, что CPU станет бутылочным горлышком для производительности, в то время как GPU будет пропускать такты.
Эта проблема всплыла во время перехода от DirectX 9 к DirectX 10, где «непродуктивные» затраты производительности на отработку draw calls существенно сократились. И все-таки даже при условии широкого внедрения DirectX 11, унаследовавшего оптимизации десятой версии, трудности никуда не делись. Компромиссное решение — использовать как можно меньше draw calls — допустимо не всегда. И вот появляется Mantle, призванный свести overhead на отработку draw calls до минимума: теоретически можно получить девятикратную скорость генерации draw calls по сравнению с DirectX 11.
Оптимизация draw calls — особенно выгодный предмет для AMD. Любой разработчик и геймер скажет спасибо за дополнительные FPS в тормозящих сценах, наполненных разрозненной геометрией. Но особенно остро вопрос встает в условиях дефицита мощности CPU. А это как раз случай AMD. Даже Mantle не может спасти процессоры AMD FX, а вот для APU при умелом использовании он сослужит хорошую службу. Другая польза от быстрых draw calls — оптимизация физики разрушений, взрывов и подобных процессов, причем не просто для того, чтобы сделать эффекты более пышными, а с целью обеспечить интерактивное взаимодействие с динамически формируемой средой.
Позволим себе более подробный экскурс в эту тему. Унифицированные шейдерные архитектуры дали возможность симулировать на GPU разлет осколков, текучие вещества и подобные предметы, требующие масштабных параллельных вычислений, которые слишком медленно решаются силами CPU. Проблема в том, что в большинстве игр дополнительная геометрия, порожденная GPU, остается не более чем визуальным эффектом, наложенным на сцену. Красивый дым, туман, осколки, но взаимодействие с ними ограничено. Почему?
Механизм можно описать так. CPU просто отдает задание на генерацию объектов графическому профессору посредством API PhysX или OpenCL. Но более глубокое участие игрового движка в судьбе того, что получилось в результате, потребовало бы передавать большие объемы данных по шине PCI-E, с соответствующим ущербом производительности. Проблема решается внедрением архитектуры HSA, в рамках которой CPU и GPU имеют доступ к общему адресному пространству и обмениваются не данными, а указателями. Но учитывая, что AMD уже позаботилась о внедрении HSA, осталось только добавить быстрые draw calls, чтобы приблизиться к по-настоящему реалистичной и интерактивной игровой физике.
С технической точки зрения замысел, лежащий в основе Mantle, безупречен. Но успех в конечном счете зависит от того, поддержат ли разработчики начинание AMD. Компания особо подчеркивает, что запрос на Mantle исходил именно от разработчиков. Разумеется, мы никак не можем подтвердить либо опровергнуть это утверждение. Остается только наблюдать за рынком. Впрочем, нельзя не признать, что Mantle стартовал весьма бодро. Первой игрой, поддерживающей API, стала Battlefield 4. Вскоре к ней присоединится Thief, в более отдаленном времени — Sniper Elite 3 и не столь именитый проект — космосим Star Sitizen. В Oxide Games разработали универсальный графический движок Nitrous с поддержкой Mantle и опубликовали в Steam бенчмарк, демонстрирующий его возможности. Собственно, Battlefield 4 и Star Swarm (а также бета-версия драйвера Catalyst 14.1) дали нам долгожданную возможность протестировать производительность Mantle на практике.
⇡#Тестовый стенд
Энергосберегающие технологии CPU во всех тестах отключены. Шина PCI-Express работает в режиме 3.0.
В настройках AMD Catalyst Control Center настройка Tesselation переводится из состояния AMD Optimized в Use application settings.
⇡#Методика тестирования
Мы сделали упор на производительности графики в зависимости от того, какой мощностью CPU располагает система. Хочется удостовериться в том, что Mantle сам по себе не только увеличивает фреймрейт, но и позволяет удержать его на приемлемом уровне в условиях дефицита производительности CPU. Для этого процессор на тестовом стенде — Intel Core i7-3960X — был последовательно ограничен по числу активных ядер с шести до двух. Попутно менялась частота CPU. В результате получены четыре конфигурации: процессор на своих штатных спецификациях и две настройки, эмулирующие топовые модели десктопных процессоров семейства с Ivy Bridge с четырьмя и двумя ядрами (с поправкой на четырехканальную систему памяти платформы LGA2011).
Подопытный видеоадаптер — Radeon R9 290X. Флагман гарантирует нам, что при низкой производительности CPU производительности GPU будет вполне достаточно и частота смены кадров действительно войдет в зависимость от скорости обработки draw calls.
⇡#Star Swarm
Бенчмарк Star Swarm, похоже, специально сконструирован таким образом, чтобы на первый план вышла скорость обработки draw calls. Наиболее выпукло это проявляется в тесте RTS, когда экран кишит десятками крошечных корабликов. Мы пользовались максимальным настройками качества и разрешением 1080p. При всех конфигурациях CPU налицо тройная разница в частоте смены кадров между API DirectX 11 и Mantle.
⇡#Battlefield 4
Battlefield 4 потенциально может извлечь большую пользу из поддержки Mantle, главным образом — в многопользовательской игре. Множество моделей, разрушаемая среда — все это требует немалого количества draw calls. Жаль, что в игре нет встроенного бенчмарка, который бы позволил создать по-настоящему жесткие условия для CPU. Пришлось довольствоваться тестированием в ручном режиме в ходе однопользовательской миссии South China Sea. Этот эпизод лучше прочих подходит для нашей цели благодаря большому количеству постоянно летающих в воздухе и плавающих в воде обломков.
Тест в Battlefield 4 не так прост, как Star Swarm. Чтобы выявить преимущества Mantle, пришлось, помимо разной конфигурации CPU, поиграть с настройками качества графики.
С предустановкой Ultra производительность Battlefield 4 должна упираться в графический процессор. Преимущество от перехода на Mantle не превышает 10%. И что более интересно, эффект наиболее выражен при самой мощной конфигурации CPU.
Battlefield 4, продолжение
Результаты первых тестов в Battlefield 4 далеки от того, что нам пообещала AMD (а обещано было вплоть до 40% прироста производительности). Но вряд ли компания преувеличивает эффективность Mantle, правда? Нам все-таки удалось найти подходящую сцену в однопользовательской компании, которая насыщена еще большим количеством отдельных объектов, за счет чего сближается с наиболее горячими сетевыми баталиями. Это еще один этап миссии South China Sea – когда вы попадаете на палубу USS Titan, истребитель съезжает в море, а вокруг лежат горящие осколки. Одновременно происходит перестрелка группы морпехов с противником.
В этом эпизоде переключение на Mantle произвело колоссальный эффект. При уровне качества Ultra даже при шести- или четырехъядерном процессоре разница между Mantle и DirectX 11 выражена сильнее, чем в предшествующем более спокойном эпизоде миссии. На двух ядрах преимущество Mantle достигает 16%.
При качестве High Mantle прирост производительности при двухъядерном CPU составил уже 34%.
При настройках Low GPU получает минимальную нагрузку, и центральный процессор становится главным ограничителем производительности в режиме DirectX 11. С поддержкой Mantle частота смены кадров даже при шестиядерном CPU увеличивается на 33%. При четырех и двух ядрах бонус достигает 32% и 34% соответственно.
Battlefield 4, Radeon R7 260X
Когда Mantle, наконец, показал все, на что способен в Battlefield 4, появился смысл сделать еще один тест – с более слабой графический картой. Сможет ли API удержать высокие позиции, когда нет столь явной диспропорции основных компонентов системы в пользу GPU? Увы, в данном случае разница между результатами Mantle и DirectX 11 проявляется только при использовании двухъядерного CPU: от 11 до 15%. Но в конце концов, это наиболее гармоничная комбинация из всех представленных.
Выводы
Что можно сказать по итогам тестирования? Пусть выход Mantle изрядно запоздал (продукт анонсировали еще в сентябре прошлого года), но теперь у нас, наконец, есть и драйвер, и первые реальные тесты производительности. В целом мы готовы подтвердить, что преимущество от использования Mantle по сравнению с DirectX 11 действительно есть, и подчас весьма существенное.
Бенчмарк Star Swarm демонстрирует в своем роде экстремальную ситуацию, когда производительность графики явно упирается в скорость обработки draw calls. Вряд ли можно считать этот тест репрезентативным по отношению к реальным играм. Но по крайней мере Star Swarm дает понять, что Mantle действительно успешно решает эту конкретную проблему.
Разница не столь выражена в случае с Battlefield 4. В наших тестах бонус от перехода с DirectX на Mantle во многих случаях достигает 10%, причем даже в системе с мощным CPU. Если верить данным, которые обнародовала сама AMD, от Mantle в Battlefield 4 можно получить и больше — вплоть до 40%. Но для этого, по всей видимости, необходимо сочетание определенных факторов: сложная геометрия сцены с большим количеством draw calls и существенный зазор между производительностью CPU и GPU. Между тем и 10% — хороший результат для графического движка, который изначально был заточен под DirectX. Тем более что для геймера он дается совершенно бесплатно.
Покупатели графических адаптеров AMD теперь могут смело приписывать эту долю к ожидаемой частоте смены кадров в играх, совместимых с Mantle. AMD уже дала своей инициативе мощный старт, заручившись поддержкой нескольких интересных проектов. А вот как сложится судьба API в дальнейшем, пока совершенно неизвестно. Но по меньшей мере AMD сделала неожиданный и сильный ход, за последствиями которого будет крайне интересно наблюдать.
Добавлено после дополнительного тестирования в Battlefield 4:
И все-таки, невозможно отрицать, что первоначальные результаты тестов в Battlefield 4 разочаровывают. Уж слишком сильную заявку сделала AMD, чтобы реальный эффект Mantle ограничился 10% в самом лучшем случае. После выхода статьи мы попытались выжать из Battlefield 4 больше – найти в однопользовательской компании такой эпизод, чтобы в кадр попадало по-настоящему много моделей персонажей, обломков и взрывов, и одновременно сцену можно было воспроизводить с высокой повторяемостью результатов. Как жаль, что в Battlefield 4 нет ни встроенного бенчмарка, ни записи сражений.
Подходящий эпизод был найден, и новые результаты уничтожили скепсис в отношении Mantle. Владельцы четырех- и шестиядерных процессоров в сочетании с топовыми GPU, позволяющими установить бескомпромиссные настройки графики, в среднем, по-прежнему получат свои 10% производительности от перехода на Mantle. Для машины с двухъядерным CPU тип API стал решающим фактором вне зависимости от качества графики: Mantle обеспечивает преимущество от 16 до 34% по сравнению с DirectX 11.
Графический адаптер небольшой (по игровым стандартам) вычислительной мощности также может извлечь пользу из Mantle. Если не жадничать и выставить настройки качетва графики, дающие GPU дышать свободно, то дефицит производительности CPU (если это двухъядерник, приличествующий недорогой видеокарте) снова вступает в силу. Тогда Mantle позволит высвободить вплоть до 15% потенциальной частоты смены кадров.
Mantle что за мод


























| ПОЛЕЗНЫЕ ССЫЛКИ | ![]() |
| AMD Radeon HD 7970: тест видеокарты на новой архитектуре |



AMD Mantle: углублённое тестирование графического API

AMD Mantle | Основы API
Аббревиатура API расшифровывается как application programming interface (прикладной интерфейс программирования. Ключевым является слово интерфейс. API разработан для коммуникации между приложениями.
Отличным примером является функция копирования/вставки в Windows. Когда вы копируете абзац текста из браузера в буфер обмена, а затем вставляете его в текстовый редактор, вы используете функции API. Разработчики вашего браузера включили поддержку запроса API на копирование, а программисты текстового редактора – поддержку запроса API на вставку. Две эти программы взаимодействуют друг с другом через API.
Преимущество API заключается в том, что разработчикам не приходится внедрять поддержку всех возможных приложений. Если бы не API, все существующие программы для редактирования документов должны были бы содержать уникальный код, для осуществления, например, функции копирования/вставки со всеми другими редакторами документов в мире. Такую модель общения между программами поддерживать было бы невозможно.
Если ли негативная сторона? API-интерфейсы не так эффективны, как специализированый код для прямой коммуникации между ПО. Цена удобства – повышенная нагрузка на аппаратное обеспечение и вычислительные ресурсы.
Что такое графический API-интерфейс?
Поскольку API является интерфейсом связи между приложениями, графический API связывает приложение и видеодрайвер графического адаптера.
Главное здесь – совместимость. Вместо разработки игрового движка с учётом поддержки различных способов связи для взаимодействия с конкретными драйверами видеокарт, разработчики игр могут сосредоточить силы на коммуникации посредством API. Затем API вызывает графический драйвер, который исполняет инструкции на видеокарте. Таким образом, графические API-интерфейсы можно считать одним из уровней абстракции между операционной системой и аппаратным обеспечением.
Если основная цель API – это простота и удобство, почему существует несколько API?
Происхождение OpenGL связано с интерфейсом Iris GL от SGI, который появился в начале 1980-x годов. Как это ни удивительно, но компания сделала его открытым стандартом под названием API OpenGL (Open Graphics Library). Конкуренты SGI получили доступ при условии равного участия в поддержке и обновлении кода.
Даже у Microsoft было кресло в Наблюдательном совете архитектуры OpenGL (OpenGL Architecture Review Board) до 2003, когда компания перешла на свой собственный интерфейс DirectX, который сейчас пользуется гораздо большей популярностью. На данный момент DirectX используется в Windows и Xbox, поэтому обосновать выбор в пользу API от Microsoft легко, если разработчик хочет получить максимум из доступных ресурсов.
Стоит отметить, что известный программист и разработчик Джон Кармак (John Carmack) доказал, что OpenGL по-прежнему можно использовать для запуска современных игр на ПК (таких как Rage). Кроме того, OpenGL держит позиции за счёт поддержки множества платформ: Windows, Mac и Linux. Android, Windows Phone и iPhone используют OpenGL ES (Open GL for Embedded Systems). По мере роста популярности игр на мобильных платформах растёт и популярность OpenGL.
Что не так с DirectX 11 и OpenGL? Зачем понадобился ещё один графический API?
Оба стандарта имеют серьёзные расхождения, и кажется нелогичным внедрение ещё одного. Так чем же существующие стандарты не устраивают разработчиков?
И DirectX, и OpenGL создавались в прошлом тысячелетии, то есть до появления многоядерных процессоров в массовых решениях. Последнее время некоторые разработчики высказывают предположения, что эти API используют слишком много ресурсов, склонны к нестабильности и плохо масштабируются (или вообще не масштабируются) на распараллеленных платформах. Кроме того, ни один API нельзя назвать идеальным. Вам когда-нибудь приходилось обновлять видеодрайвер, чтобы игра работала правильно? Если да, то это означает, что графический API не смог выполнить функцию уровня абстракции.
Вдобавок к этому, ходили слухи, что Microsoft собирается прекратить развитие DirectX в 2013 году. В интервью с вице-президентом AMD, Роем Тейлором (Roy Taylor), было сказано, что «новый заставляет отрасль двигаться вперёд, и новым видеокартам нужно больше процессоров и оперативной памяти. Но DirectX 12 не появился. Вот и всё. Насколько нам известно, на DirectX 12 пока нет никаких планов». Кроме того, из просочившегося в Сеть электронного письма Microsoft нам известно, что кросс-платформенная среда разработки XNA Game Studio сейчас не находится в стадии активной разработки, а развитие DirectX как технологии завершено. Позже Microsoft отказалась от этих заявлений и утверждала, что это было недоразумение, но без опубликованных планов касательно DirectX 12 сообщество разработчиков забеспокоилось.
AMD утверждает, что пришла к разработке нового API, который должен решить существующие проблемы DirectX и OpenGL, вызывающие недовольство разработчиков. Ввиду того, что APU и GPU от AMD применяются в Xbox One, PlayStation 4 и множестве ПК, компания вынуждена предложить API, который можно будет использовать на различных платформах.
Предполагаемые улучшения Mantle в сравнении с OpenGL и DirectX
AMD Mantle ассоциируется с понятием «низкоуровневый». Но что оно означает? Если коротко – это синоним минимализма. API меньше, проще и, следовательно, быстрее DirectX 11 и OpenGL. Новый API от AMD, предположительно, ставит меньше условий для визуализации конкретной сцены. Таким образом, разработчик, а не API, получает управление над ресурсами, что обусловливает большую оптимизацию.
В этом плане AMD Mantle может оказаться более эффективным интерфейсом. Кроме того, AMD Mantle способен выполнять полностью параллельную прорисовку, чтобы разделить задачи между несколькими исполнительными блоками CPU. Если API может эффективно использовать больший объём вычислительных ресурсов, то медленные процессоры с несколькими исполнительными блоками не окажут такого негативного эффекта на производительность.
Проще говоря, AMD утверждает, что AMD Mantle потенциально может повысить производительность систем с медленными многоядерными центральными процессорами. А там, где CPU не является «бутылочным горлышком», AMD Mantle сможет понизить энергопотребление GPU.
AMD позиционирует себя как сторонника открытых исходных кодов. Относится ли Mantle к API с открытым кодом?
AMD Mantle не является открытым стандартом, и AMD утверждает, что и в будущем он таковым не станет. Однако представители компании заявляют, что SDK AMD Mantle будет доступен для всех к концу 2014 года без лицензионных сборов или ограничений, когда закрытая бета-версия завершится.
Нужно уточнить, что доступ к SDK – это не то же самое, что открытый исходный код. Тем не менее, в теории, Nvidia и Intel смогут написать совместимый с AMD Mantle драйвер. Однако в реальности нам это кажется маловероятным. Но лучше приберечь анализ для заключения. Дело в том, что AMD хочет сохранить контроль над AMD Mantle, чтобы оптимизировать API под архитектуру GCN и позволить разработчикам быстрее принять новые аппаратные функции, которые непрактичны для общих API, таких как DirectX и OpenGL.
Мы разобрались с основами Mantle. Что дальше?
AMD Mantle | Как мы тестировали API Mantle от AMD
Можно предположить, что основная цель AMD Mantle – выжать максимум производительности из видеокарт Radeon. В принципе, так и есть. Но важно помнить, что проблема, которую должен решить интерфейс AMD Mantle, не совсем связана с графикой. Напротив, AMD Mantle должен исправить недостатки в плане эффективности, которые мешают распределению нагрузок на CPU.
Чтобы это проверить, мы используем обширный ряд платформ и видеокарт (список приведён в таблице ниже). Все видеокарты Radeon тестируются в режиме DirectX и AMD Mantle для выявления различий. Также для сравнения мы добавили в выборку карты GeForce.
Позже вы увидите, что для специализированного теста нам понадобится видеокарта среднего уровня с памятью 4 Гбайт. Для этих целей MSI прислала нам Radeon R9 270X Gaming 4G, оснащённую кулером Twin Frozr IV и тремя рабочими режимами: «тихий» (1050 МГц), «игровой» (1080 МГц) и «разогнанный» (1120 МГц).
Высокопроизводительные видеокарты требуют соответствующего питания, и XFX прислала нам свой блок питания PRO850W с сертификатом 80 PLUS Bronze. Модульный БП использует одну шину +12 В с силой тока 70 А. Как утверждает XFX, данная модель обеспечивает непрерывную (не пиковую) мощность до 850 Вт при температуре 50 градусов Цельсия (заметно выше, чем в большинстве корпусов).
В нашей лаборатории мы почти полностью избавились от механических жёстких дисков, и вместо них используем твердотельные накопители, для которых нехарактерны задержки, связанные с операциями ввода/вывода. Компания Samsung прислала в наши офисы накопители Samsung 840 Pro на 256 Гбайт, поэтому они у нас используются в качестве стандартных.
| Система | FM2+ | AM3+ | LGA 1155 | LGA 1150 |
| Системная плата | ASRock FM2A88X-ITX+,Socket FM2+ | Gigabyte GA-990FXA-UDS,Socket AM3+ | Asus P8Z77-V LX, LGA 1155 | ASRock Z87 Pro3, LGA 1150 |
| Процессор | AMD A10-7850K, четыре ядра, 3,7 ГГц (4 ГГц макс. Turbo Core) | AMD FX-8350, восемь ядер, 4 ГГц (4,2 ГГц макс.Turbo Core) AMD FX-4170, четыре ядра, 4,2 ГГц (4,3 ГГц макс. Turbo Core) | Intel Core i3-3220, два ядра, Hyper-Threading, 3,3 ГГц | Intel Core i7-4770K, четыре ядра, Hyper-Threading, 3,5 ГГц (3,9 ГГц макс. Turbo Boost) |
| Память | 8 Гбайт Corsair Vengeance LP (2 x 4 Гбайт) 1600 МТ/с, CAS 9-9-9-24-1T |
| Видеокарты | GeForce GTX 650 2 Гбайт GDDR5 GeForce GTX 660 2 Гбайт GDDR5 GeForce GTX 780 Ti 3 Гбайт GDDR5 Radeon R7 250X 1 Гбайт GDDR5 Radeon R9 270 2 Гбайт GDDR5 Radeon R9 270X 4 Гбайт GDDR5 Radeon R9 290X 4 Гбайт GDDR5 |
| Системный накопитель | Samsung 840 Pro, 256 Гбайт SSD, SATA 6Гбит/с |
| Блок питания | XFX PRO850W, 850 W, сертификат 80 PLUS |
| ПО и драйверы | |
| Операционная система | Microsoft Windows 8 Pro x64 |
| DirectX | DirectX 11 |
| Видеодрайверы | AMD Catalyst 14.3 Beta (14.4 Beta показал некоторый ущерб производительности) Nvidia GeForce 337.88 WHQL |
Подробная информация по тестам:
| Конфигурация тестов | |
| 3D-игры | |
| Thief | Built-in benchmark |
| Battlefield 4 | Собственный тест THG, 90 секунд |
AMD Mantle | Тесты Thief на APU и видеокартах начального уровня
AMD Mantle показал преимущество, но совсем небольшое. Тем не менее, средний показатель FPS почти приблизился к уровню 30 FPS, хотя минимальная частота кадров составила 20 FPS, а такой результат мы считаем неприемлемым для комфортной игры.
Дискретная графика позволяет повысить разрешение с 720p до 1080p. Давайте посмотрим на результаты:
AMD Mantle | Тесты Thief на видеокартах среднего и высшего уровня
Мы начали тестирование с APU A10-7850K и Radeon R7 250X при низких настройках детализации. Для карт Radeon R9 270 и GeForce GTX 660 мы повышаем качество графики до «Normal» и выставляем разрешение 1920×1080 точек.
AMD Mantle | Тесты Battlefield 4 на встроенной графике APU
AMD Mantle обеспечивает небольшое преимущество, хотя оно вряд ли может повлиять на решение о покупке. Нас больше удивило, что APU смог вытянуть Battlefield 4 в разрешении 1600×900 точек на частоте кадров не ниже 30 FPS.
AMD Mantle | Тесты Battlefield 4 на видеокартах начального уровня
Теперь Radeon R7 250X и GeForce GTX 650 продемонстрируют нам, на что способны дешёвые дискретные видеокарты. Для них мы повышаем уровень детализации до высокого и увеличиваем разрешение до 1920×1080 точек.
В двух диаграммах выше видна масса линий и полос. Но в данном случае мы видим, как AMD Mantle вредит производительности, а не помогает.
Колебания находятся в приемлемом диапазоне. Ни одна из карт не вышла за отметку 3 мс на 95-ом перцентиле. Есть несколько всплесков, но они незначительны.
AMD Mantle | Тесты Battlefield 4 на видеокартах среднего уровня
Снижение производительности сохранилось. А изменились ли колебания времени подачи кадров?
Колебания сохранились на низком уровне, хотя притормаживания более заметны, когда частота кадров снижается до 25 FPS.
AMD Mantle | Тесты Battlefield 4 на видеокартах высшего уровня
Наконец API AMD Mantle от AMD показал своё влияние, обеспечив системе с FX-8350 среднюю частоту кадров 51,4 FPS против 45 FPS под DirectX. Дополнительно AMD Mantle позволяет Radeon R9 290X приблизиться к уровню производительности GeForce GTX 780 Ti (при том, что карта Nvidia значительно дороже).
AMD Mantle | Тесты Battlefield 4: проблемы с RAM и обновления драйверов
Хотя снижения производительности, которое вызывал AMD Mantle ранее, больше не наблюдается, ощутимых преимуществ тоже нет.
Мы снова видим очень низкие средние колебания времени подачи кадров, перебиваемые внезапными всплесками.
Похоже, что видеопамять – не единственный сдерживающий фактор. По крайней мере, в Battlefield 4 AMD Mantle демонстрирует преимущество над DirectX на высокопроизводительных видеокартах с объёмом видеопамяти более 4 Гбайт. Дополнительная память GDDR5 не помогает Radeon R9 270X повысить свой результат под управлением API от AMD.
Battlefield 4 (обновление за 3 июня) и Catalyst 14.6 бета-версия 2
Обзор получился очень насыщенным в плане бенчмарков, он включает тесты множества видеокарт на различных платформах. Мы начали создавать данный материал, когда самым новым из доступных драйверов была версия Catalyst 14.4, но использовали Catalyst 14.3 Beta, поскольку были случаи, когда драйвер 14.4 ухудшал производительность.
По завершении тестирования мы провели немало времени за дополнительными исследованиями. Полученные данные мы обсудили с AMD. Сотрудники компании сказали про наличие проблемы с видеопамятью до 4 Гбайт. Нужно было кое-что выяснить об API. В общем, пока мы собирали материал, для Battlefield 4 вышло обновление, датированное третьим июня, а AMD выпустила драйвер версии Catalyst 14.6 Beta.
Нужно было убедиться, что показатели производительности AMD Mantle остались актуальными, поэтому мы провели несколько тестов с учётом обновлений и выяснили, что производительность Battlefield 4 под управлением AMD Mantle улучшилась на графических адаптерах, у которых менее 4 Гбайт видеопамяти. Плохие новости заключаются в том, что при уменьшении разрыва API от AMD по-прежнему немного медленнее DirectX 11 по частоте кадров. Даже несмотря на минимальный разброс, AMD Mantle не даёт преимуществ на картах ниже уровня Radeon R9 290.
AMD Mantle | Сравнение качества изображения и подведение итогов
Сравнение качества изображения: Mantle против DirectX
Ранее сообщалось, что между AMD Mantle и DirectX в Battlefield 4 были замечены различия в насыщенности и контрастности картинки. Но на данный момент различия, похоже, испарились. Мы знаем, что DICE публично признала ошибку, сказав, что постарается её исправить в следующем патче.
При анализе Thief мы не выявили каких-либо различий в качестве изображения.
Как Mantle повлияет на будущее видеоигр?
Сегодня мы в основном говорим о ПК, но не стоит забывать о консолях. Если Microsoft и Sony внедрят AMD Mantle на своих платформах, то с комплектующими AMD, использующими x86-ядра Jaguar, данный API почти наверняка получит мощную поддержку со стороны разработчиков. Многие ПК-игры портируются с консольных версий или разрабатываются одновременно с ними. Естественно, у Microsoft есть стимул дождаться готовности DirectX 12. Что касается Sony, то у PlayStation 4 имеется собственный API, более совершенный, чем DirectX 11 и OpenGL. Ведущий графический программист DICE Йоган Андерсон (Johan Andersson) заявил, что графический API-интерфейс PS4 достаточно хорош, и AMD Mantle на PS4 им не нужен.
Пока неизвестна позиция Steambox от Valve. AMD не поддерживает AMD Mantle в драйвере Linux, однако компания намекнула на реализацию поддержки в будущем. Если предположить, что Valve создаст концепцию выгодного использования APU (пока мы её не видим), спрос на AMD Mantle в этой среде может возрасти. Однако SteamOS придётся пройти долгий путь, прежде чем это случится.




























































