AMD Mantle: девять месяцев спустя

Опубликовано:

AMD Gaming EvolvedВ конце сентября AMD не только представила новую архитектуру GPU Hawaii, которая позднее вышла в свет в виде двух видеокарт Radeon R9 290 и 290X, но и объявила Mantle, новый низкоуровневый API. Цель разработчика GPU заключалась в уменьшении программной прослойки между движком игры и аппаратным обеспечением. Microsoft тоже несколько лет двигалась в данном направлении, и в следующем году компания собирается представить новый API DirectX 12. Apple на прошедшей WWDC представила Metal, тоже низкоуровневый API, который предоставляет более глубокий доступ к шейдерам GPU. Но DirectX 12 и Metal вряд ли можно считать последствиями появления Mantle – все три концепции находятся в разработке уже несколько лет. В случае AMD компания работала над двумя схожими концепциями, а именно Mantle и DirectX 12. NVIDIA пока что воздерживается от участия. Но сторонники компании очень любят указывать на "волшебный драйвер", который увеличивает производительность под DirectX 11, а также неизбежный выход DirectX 12.

История Mantle

Но позвольте вернуться к осени прошлого года. Тогда AMD впервые заговорила о Mantle, компания желала продвинуться с новым API намного дальше и глубже, чем с TressFX или PhysX, но первое время возникало больше вопросов, чем ответов. Mantle будет работать только на AMD GPU с архитектурой "Graphics Core Next"? Насколько открытой является архитектура Mantle для разработчиков? Почему AMD решила вывести подобный API на рынок, и как можно будет убедить разработчиков вкладывать время и силы в доработку игры под новый API?

На мероприятии выступили многочисленные партнёры AMD, которые кроме объявления грядущих игр не забывали упомянуть и о поддержке Mantle. Ключевой игрой для демонстрации Mantle стала Battlefield 4. Йохан Андерсон, ведущий разработчик DICE, ответственный за разработку движка Frostbite, как раз был идейным вдохновителем разработки Mantle, так что поддержка в Battlefield 4 казалась логичным шагом. Но вскоре стало понятно, что Mantle не получит широкую поддержку сама по себе. AMD придётся приложить немало усилий, чтобы убедить разработчиков потратить дополнительное время и силы на поддержку Mantle. AMD радостно указывала, что для поддержки Mantle не требуется тратить значительных усилий, и от подобной поддержки игра выиграет не только на ПК с видеокартами AMD, но и на приставках с платформой AMD. В то время наш редактор довольно скептически высказался о перспективах Mantle, но он был не один, и вскоре наш скепсис получил подтверждение.

AMD GPU14 Tech Day: Mantle
AMD GPU14 Tech Day: Mantle

Запланированный на ноябрь патч для Battlefield 4, который должен был добавить поддержку Mantle, так и не вышел. Сначала его обещали в середине декабря, затем перенесли на конец. Но в реальности патч Battlefield 4 стал доступен журналистам только 1 февраля вместе с соответствующим драйвером. Игра Battlefield 4 стала первенцем Mantle, она должна была продемонстрировать все преимущества Mantle. Наши тесты показали, что Mantle действительно даёт в игре преимущества, производительность увеличивается до 37 процентов в обычных настройках в Battlefield 4 Multiplayer. Причина увеличения производительности, по большей части, кроется в командах "Draw Calls", которые отсылаются на GPU для рендеринга определенного объекта. Кадр, который покидает конвейер рендеринга GPU, требует несколько сотен вызовов "Draw Calls". И здесь Mantle обеспечивает преимущество по скорости обработки "Draw Calls", которая до 9x превышает возможности Direct3D. Но в чем причина задержки? Оказалась ли реализация Mantle для DICE не такой простой, как предполагалось изначально? Похоже, что AMD отлаживала проблемы с драйверами, исправляя найденные ошибки. В любом случае, скептиков подобный старт не убедил.

Thief стала второй игрой с поддержкой Mantle и первой с поддержкой активно рекламируемой функции обновленной архитектуры GCN – TrueAudio. Но игра вышла уже в середине марта. Тесты при определенных настройках демонстрировали прирост производительности, но из-за однопользовательского характера игры API Mantle не смог раскрыть своего потенциала, в отличие от многопользовательской Battlefield 4. Поэтому в случае Thief больше внимания было приковано к поддержке TrueAudio.

Battlefield: Hardline mit Mantle in den Grafikoptionen
Battlefield: Hardline с поддержкой Mantle в опциях графики

Мы не будем затрагивать техническую демонстрацию Star Swarm. AMD использовала это tech demo с начала года для демонстрации возможностей Mantle по сравнению с Direct3D. В частности, AMD очень нравилось показывать демонстрации Star Swarm на собственных APU, но поскольку перед нами всё же не игра, позвольте оставить Star Swarm в стороне.

Третья игра с поддержкой Mantle - Plants vs is. Zombies: Garden Warfare. Впрочем, поддержка реализована через движок Frostbite с большим или меньшим числом опций. Игра уже вышла под приставки Xbox One, Xbox 360 и Playstation 3 и Playstation 4. Выход под ПК ожидается 26 июня. Только тогда можно будет оценить возможный прирост производительности от поддержки Mantle. Но вряд ли использование Mantle оправдано из-за аппаратных требований подобных игр – но всё же давайте дождёмся появления игры, чтобы вынести окончательный вердикт.

Mantle в будущем

Что будет после Battlefield 4 и Thief? На E3 некоторые студии разработки объявили о поддержке Mantle в грядущих играх. К ним относятся, среди всего прочего, Battlefield Hardline и Dragon Age: Inquisition. Две игры выйдут 23 и 9 октября. Также в этом году должны выйти объявленные ранее игры Star Citizen, Sniper Elite 3 и Civilization: Beyond Earth. Так что в 2014 году число игр с поддержкой Mantle возрастет до восьми. Тот же DirectX 11 в первый год полностью поддерживало даже меньшее число игр. Здесь нас больше всего интересует Civilization, поскольку Mantle впервые будет использоваться в стратегии, и по причине сложности игровых сцен Mantle может обеспечивать существенные преимущества в этой игре.

В принципе, у Mantle остаются три основных базы поддержки: игры на движке Frostbite, игры от разработчика Star Swarm – студии Oxide Games и грядущий движок CryEngine, который также будет поддерживать Mantle. Также можно говорить о поддержке Mantle в грядущих играх Mass Effect, Mirror's Edge 2, Star Control и Star Wars: Battlefront. Некоторые игры указываются под кодовыми названиями "Havana", "Mars" и т.д., есть и проекты, которые не называются. Чтобы облегчить для разработчиков поддержку Mantle в играх, AMD запустила в мае закрытое бета-тестирование. Заинтересованные разработчики могут записаться на участие в программе, они получат всю необходимую документацию и комплект разработчика (SDK). По информации AMD, в программе участвуют 40 независимых студий разработчиков, которые хотят использовать API Mantle в своих продуктах или, по крайней мере, хотят его протестировать. Также AMD контактирует и с другими разработчиками, чтобы в будущем расширить базу поддержки.

Ожидающиеся в следующем году приставки Steam Box должны вдохнуть новую жизнь в поддержку Mantle под Linux. Изданию PCWorld Ричард Хадди из AMD (подробнее о нем чуть ниже) рассказал некоторые детали. AMD планирует выделить собственные ресурсы на данное направление. Многочисленные разработчики уже запросили различные виды поддержки у AMD, если верить Хадди. Всё это должно порадовать Valve, которая с помощью Steam Box желает популяризировать игры под Linux. Сможет ли Valve превратить данную стратегию в жизнь – покажет грядущий год, но Mantle вряд ли в значительной степени будет влиять на портирование игр под Linux. Всё же другие факторы здесь играют намного более важную роль.

Возвращение Ричарда Хадди

Как раз во время Computex AMD объявила о сотруднике, который сможет дать новый толчок AMD в роли производителя "железа" и разработчика Mantle. Ричард Хадди уже работал несколько лет директором подразделения по работе с независимыми разработчиками (ISV Engineering Team, Independent Software Vendor), теперь он возвращается в AMD. В промежутке Ричард работал в Intel, где он отвечал за стратегию разработки встроенного графического процессора. Впрочем, ещё до первой работы на AMD Ричард заработал хорошую репутацию в компаниях NVIDIA, ATI и 3Dlabs. Его новые задачи в AMD хорошо описывает название должности: Gaming Scientist или ученый игр.

Несколько дней назад нам удалось пообщаться с Ричардом Хадди, в ходе разговора он неоднократно подчеркивал важную роль Mantle. Ричард акцентировал открытый подход Mantle, то есть API открыто любым разработчикам программ и производителям "железа". Он также упомянул и отсутствие возможности оптимизировать драйвер для видеокарт AMD под игру Watch Dogs. То же самое будет верно и для других грядущих игр на API GameWorks – но пока здесь нельзя сказать ничего конкретного. Сегодня мы получили аргументацию и AMD, и NVIDIA, но кому из них верить – вопрос открытый. Последние дни мы много размышляли над данной проблемой, а также сравнивали пример NVIDIA GameWorks с TressFX от AMD. Впрочем, оптимизации или предотвращение оптимизаций, а также "подводные камни" того или иного производителя доказывать очень сложно. Слишком велико влияние других элементов движка, например, тесселяции. Но мы продолжим изучать данный вопрос.

В заключение Ричард сказал, что API Mantle определенно будет давать разницу. Но пока сложно предположить, окажется ли она достаточно значимой, чтобы оправдать дополнительные усилия разработчиков во времена, когда будут появляться первые игры под DirectX 12 – тоже очень молодой API. AMD должна подумать над другими преимуществами своего API. Впрочем, до появления игр DX12 есть ещё некоторый запас времени. Чуть позже в этом году Microsoft планирует представить первую предварительную версию DirectX 12, тогда же будут объявлены его аппаратные функции, и к этому событию готовятся AMD и NVIDIA. Но первые игры с полной поддержкой DirectX 12 вряд ли появятся раньше конца 2015.

Нам интересно ваше мнение по поводу Mantle. Сможет ли AMD осуществить задуманное? Каким вам кажется будущее Mantle – особенно с учётом появления DirectX 12? Хотите ли вы, чтобы мы тестировали видеокарты на данном API в тестах, поддерживающих Mantle?