Вплоть до металла: что новый графический API Apple означает для приложений и игр Mac

Получите официальную информацию T3 о новом графическом API Metal от Apple.



Попробуйте представить, что вы едете на велосипеде с квадратными колесами. Для перемещения требуется больше усилий, чем при использовании обычных колес. Вот как основатель Eternal Storms Software Матиас Гансриглер описывает OpenGL на Mac. До сих пор OS X была загромождена квадратными колесами — проблема, учитывая, что OpenGL является ключевым системным компонентом; как заявляет Apple, API «дает вашему приложению доступ к потрясающим возможностям 3D-графики», и это особенно важно в играх, программном обеспечении для творчества и медицинских решениях.

Относительно неэффективная реализация OpenGL в OS X привела к отставанию Mac от Windows в этих ключевых областях. Apple Metal стремится стать решением, предлагающим улучшенную производительность и эффективность рендеринга. В этой функции разработчики объясняют, как Metal повлияет на приложения и игры, которые вы любите, и что это значит для будущего Mac.

Для непосвященных инженер-программист и писатель Уоррен Мур объясняет, что Metal — это «интерфейс программирования графических приложений (API), что означает, что это способ для приложений выводить на экран визуальный контент, такой как текст и изображения». В частности, это «API 3D-графики, полезный для 3D-элементов, обычно встречающихся в играх, и визуальных эффектов — света, теней, материалов — которые оживляют такие игры».

Впервые представленный в iOS 8, Metal является своего рода преемником широко распространенного графического API OpenGL, который, как отмечает Мур, до недавнего времени был единственным API 3D-графики, поддерживаемым на Mac, и «до его последних версий — еще не доступен». на OS X — имел существенную системную неэффективность». В отличие от этого, Metal предоставляет разработчикам более прямой доступ к графическому процессору (GPU) вашего Mac, что приводит к повышению производительности и эффективности. Это, по словам Мура, означает, что разработчики могут «создавать более быстрые и эффективные приложения, используя оборудование, уже находящееся в руках миллионов владельцев Mac». А поскольку Apple «перестроила некоторые основные компоненты OS X поверх Metal, это обеспечит гораздо более высокую производительность для каждого приложения, независимо от того, используют ли его создатели непосредственно Metal API».

Разработчик и программист Саймон Глэдман добавляет, что у Metal есть и другие преимущества: «Это важно, потому что это позволяет поставщикам программного обеспечения создавать высокопроизводительные графические приложения, такие как игры и программное обеспечение для создания 3D-контента, с общей кодовой базой для настольных компьютеров. и iOS-устройства. Общая кодовая база означает более быстрый выход на рынок и более низкие затраты, связанные с разработкой и обслуживанием программного обеспечения».

Игра в игру

Услышав «Metal», Гансриглер не одинок, кто первым подумал об играх, в основном потому, что Apple продвигает эту технологию в iOS 8. Он надеется, что Metal повысит популярность игр на Mac так же, как он улучшил ситуацию на мобильных устройствах: «В течение многих лет , компьютеры Mac отстают от ПК с Windows с аналогичными характеристиками, когда речь идет о производительности игр. Даже на одной и той же машине при запуске игры в OS X, а затем в Windows с использованием Boot Camp разница часто была, мягко говоря, заметной».

Основатель Giant Spacekat Брианна Ву приводит примеры: «Civilization V работает на OS X значительно хуже, а Final Fantasy XIV была приостановлена. Последний использует OpenGL на Windows и Mac, но из-за того, что тот же код был настолько неэффективен на Mac, им пришлось изъять игру из продажи». По ее словам, с Metal игры для Mac, наконец, станут более конкурентоспособными по сравнению со своими аналогами для Windows, поскольку разработчики получат доступ к инструментам для написания наиболее эффективных и высокопроизводительных алгоритмов для вашей видеокарты.

Билл Холлингс из MetalGL говорит, что это должно «обеспечить дополнительный запас для тех высоконастроенных игр и приложений, которые работают на пределе возможностей», хотя разработчикам потребуется много инвестиций и усилий, чтобы использовать такие возможности. Гансриглер утверждает, что за счет снижения использования ЦП игры на основе Metal могут предложить улучшенную физику, искусственный интеллект, звук или игровую логику по сравнению с эквивалентами OpenGL. А внештатный разработчик Андреас Монитцер считает, что «профессиональные игры смогут обеспечить такую ​​же визуальную точность, как и для Windows, а снижение расхода заряда батареи означает, что вы сможете играть дольше».

  • Читать далее: 10 гаджетов, которые спасут Рождество

Скачок производительности

Неудивительно, что известные игровые студии уже подтвердили интерес к Metal, соблазненные обещаниями Apple о скачке производительности рендеринга до 50% (что означает более высокую частоту кадров) и повышении эффективности на 40%. Но Холлингс предупреждает, что здесь есть одна загвоздка: «Помните, это технология, не обеспечивающая кроссплатформенную поддержку». По его словам, профессиональные инструменты, как правило, могут «скрыть» это от разработчика, используя Metal для устройств Apple и другие фреймворки в других местах. Мур добавляет, что это «позволит программистам игр, которые используют такие инструменты, сразу увидеть преимущества». Но в остальном, говорит Холлингс, разработчикам остается использовать несовместимые технологии, такие как OpenGL и DirectX, в других местах. Естественно, он предполагает, что MetalGL — реализация OpenGL API, работающая на платформе Metal — может помочь в таких обстоятельствах.

Тем не менее, разработчик Глин Уильямс призывает к осторожности, когда речь заходит о потенциале Metal для любого роста игр для Mac: «Я никогда не вижу, чтобы Mac стал первоклассной игровой платформой. Экономика отрасли не поддерживает платформу меньшего размера, на которой у большинства пользователей есть мобильные графические процессоры». Другими словами, характер аппаратного обеспечения может по-прежнему учитываться против Mac, хотя можно утверждать, что Windows не застрахована от таких проблем, поскольку большинство продаж приходится на ноутбуки, а не на настольные компьютеры, не говоря уже о мощных игровых системах.

Apptastic

Гладман отмечает, что Metal предназначен не только для игр: «Помимо «вершинных» и «фрагментных» шейдеров, которые используются для 3D, Metal включает в себя «вычислительные» шейдеры. Они позволяют выполнять параллельные вычисления данных для таких задач, как визуализация данных, обработка изображений и физическое моделирование. Такие компании, как The Foundry и Adobe, уже используют Metal для ускорения своего программного обеспечения для создания контента».

На самом деле Мур объясняет, что Metal потенциально приносит пользу каждому приложению на вашем Mac: «Apple изменила архитектуру ключевых технологий отображения, таких как Core Graphics и Core Animation, чтобы уменьшить использование ЦП, снизить потребление энергии и повысить производительность графики. Это означает, что такие действия, как перемещение окон и переход между оконным и полноэкранным режимами, в OS X El Capitan выполняются быстрее, чем в Yosemite на сопоставимом оборудовании. В этом смысле пользователи почувствуют разницу без каких-либо действий со стороны разработчиков приложений».

Естественно, творческие приложения больше всего выиграют от Metal (а не относительно крошечные выгоды, которые увидит Finder), и Гансриглер взволнован возможностями. Он считает, что профессиональные приложения, которые могут принести особую пользу, включают Final Cut Pro X и Adobe After Effects, благодаря «возможности одновременного предварительного просмотра большего количества эффектов и более быстрого рендеринга полученного видео». (Действительно, на WWDC 2015 старший вице-президент Apple Крейг Федериги сказал, что Metal помог Adobe улучшить механизм рендеринга эффектов в After Effects до 8x.)

Такое повышение производительности может, по словам Гансриглера, перевернуть процесс создания контента с ног на голову. «Например, при создании 3D-моделей нередко приходится отключать сложные шейдеры при работе с моделью, потому что переворачивать ее становится вялым и невыносимым», — объясняет он. «Metal может позволить оставить эти шейдеры активными», тем самым давая разработчику «гораздо лучший взгляд на то, над чем он работает в любое время», и в результате получается превосходный конечный продукт за счет более быстрой итерации. И независимо от выбранной вами области, дисплеи настольных компьютеров теперь следуют за мобильными в увеличении разрешения до высокого разрешения, что делает производительность графики все более важной.

Требуемые ресурсы

Несмотря на потенциал, предоставляемый Metal, разработчики опасаются слишком много восхвалять его. Инди-носитель Mac/Linux Итан Ли жалуется, что он ограничен «теми, у кого есть ресурсы, чтобы посвятить их продуктам Apple», утверждая, что «остальные из нас в основном ничего не получат от этого». Монитцер возражает, что некоторые игровые инди, по крайней мере, будут охвачены тем, что «Metal адаптируется большими игровыми движками, а это означает, что все, что разработано с их помощью, будет использовать его автоматически».

Глэдман разделяет опасения Ли по поводу Metal, говоря, что он «требует значительных усилий, чтобы действительно начать работать», и задается вопросом, должна ли Apple предоставить высокоуровневую структуру, чтобы использовать его возможности: «Это может означать, например, расширение SceneKit, с набором новых функций, таких как фотореалистичные визуализаторы и решатели на основе графического процессора для моделирования ткани, волос, дыма и жидкости». В качестве альтернативы он полагает, что формирующееся вокруг Metal сообщество open-source может выполнить эту роль.

В более позитивном плане Мур говорит, что мы уже видели, как Metal «привносит новые игровые возможности в iOS, обеспечивая более захватывающие эффекты и большее количество контента на экране одновременно», и Mac может наслаждаться улучшенными играми и скоростью работы ОС. И Гансриглер задается вопросом, сможет ли Metal открыть больше портов для Mac благодаря сочетанию растущих продаж платформы и интереса разработчиков к новому и впечатляющему API.

Соревнование

Стоит помнить, что Apple не одинока в этом вопросе. Microsoft работает над Metal-подобной версией своего собственного DirectX, а Khronos Group недавно анонсировала Vulkan, кроссплатформенный преемник OpenGL. Мур считает, что если бы вы увидели архитектурную диаграмму трех API, «сходство было бы поразительным, потому что идея снижения нагрузки на ЦП является частью кардинальных изменений, которые происходили годами»; Ли, тем не менее, раздражен тем, что Apple пошла по проприетарному пути: «Металл явно раздражает всех, кто поставляет более чем для одной платформы. OpenGL означал, что я мог поставлять практически везде, где хотел. Поскольку Vulkan происходит буквально в то же время, я не могу не быть невероятно раздраженным тем, что теперь мы рассматриваем другой проприетарный API».

Мы слышали подобные жалобы и в других местах, и поэтому задаемся вопросом, может ли вместо того, чтобы видеть больше программного обеспечения для Mac, как надеется Гансриглер, проприетарная природа Metal привела к тому, что платформа стала меньше. Ву так не думает. Она не только взволнована перспективой хорошо реализованного Metal, дающего OS X паритет с Windows, но и преимуществами, которыми пользуется Apple: «С машинами Windows так много графических карт, что невозможно решить их все. С OS X Apple работает только с очень многими, поэтому может написать определенные ярлыки и трюки для вашей видеокарты, в единицах и нулях. Это может сделать только Apple».

Она продолжает, утверждая, что разработка для пользователей Apple всегда требует компромисса: «Кроссплатформенная технология может быть проще для вас как разработчика, но дает худший опыт для потребителя, а это не то, что нравится клиентам Apple. Если вы так считаете, возможно, OS X вам не подходит». Гансриглер соглашается и добавляет, что преимущество Apple во всем, что исходит из одного места, может в конечном итоге вывести Metal вперед своих конкурентов: «Apple заявила, что шейдеры, которые они предоставляют, были точно настроены для каждого отдельного графического чипа, поддерживаемого Metal. Я не думаю, что Microsoft или The Khronos Group смогут сказать то же самое!»

  • Читать далее: T3 тестирует новую систему автопилота Tesla

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

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