Jump to content

Металл (API)

(Перенаправлено с Metal (iOS API) )

Металл
Разработчик(и) Apple Инк.
Первоначальный выпуск июнь 2014 г .; 10 лет назад ( 2014-06 )
Стабильная версия
24 / Октябрь 2022 г .; 1 год назад ( 2022-10 )
Написано в Язык шейдеров : C++14 , среда выполнения/API: Objective-C.
Операционная система iOS , iPadOS , macOS , tvOS
Тип 3D-графика и вычислительный API
Лицензия Собственный
Веб-сайт разработчик .яблоко /металл /

Metal — это низкоуровневый с низкими затратами и аппаратным ускорением -интерфейс 3D-графики и вычислительных шейдеров API , созданный Apple и дебютировавший в iOS 8 . Metal сочетает в себе функции, аналогичные OpenGL и OpenCL, в одном API. Он предназначен для повышения производительности, предлагая низкоуровневый доступ к оборудованию графического процессора для приложений на iOS , iPadOS , macOS и tvOS . Его можно сравнить с низкоуровневыми API на других платформах, таких как Vulkan и DirectX 12 .

Metal — это объектно-ориентированный API, который можно вызвать с помощью Swift , Objective-C или C++17. [2] языки программирования . Полноценное выполнение графического процессора контролируется с помощью языка Metal Shading. Согласно рекламным материалам Apple: «MSL [Metal Shading Language] — это единый унифицированный язык, обеспечивающий более тесную интеграцию между графическими и вычислительными программами. Поскольку MSL основан на C++, вы найдете его знакомым и простым в использовании». [3]

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

Metal улучшает возможности программирования GPGPU за счет использования вычислительных шейдеров . Metal использует особый язык шейдеров , основанный на C++14 , реализованный с помощью Clang и LLVM . [5]

Metal позволяет разработчикам приложений создавать ресурсы Metal, такие как буферы и текстуры. Ресурсы могут быть выделены на ЦП, графическом процессоре или на обоих, а также предоставляются возможности для обновления и синхронизации выделенных ресурсов. Metal также может обеспечивать соблюдение состояния ресурса в течение срока службы кодировщика команд. [6] [7]

В macOS Metal может предоставить разработчикам приложений право выбирать, какой графический процессор использовать. Разработчики приложений могут выбирать между маломощным встроенным графическим процессором ЦП, дискретным графическим процессором (на некоторых MacBook и Mac) или внешним графическим процессором, подключенным через Thunderbolt. Разработчики приложений также имеют предпочтение относительно того, как команды графического процессора выполняются на том или ином графическом процессоре, и предлагают рекомендации о том, какой графический процессор наиболее эффективен для выполнения определенной команды (команды для рендеринга сцены могут выполняться дискретным графическим процессором, а постобработка и отображение могут быть обрабатывается встроенным графическим процессором). [8]

Шейдеры производительности металла

[ редактировать ]

Metal Performance Shaders — это высокооптимизированная библиотека графических функций, которая может помочь разработчикам приложений добиться высокой производительности и в то же время сократить объем работы по поддержке специфических функций семейства графических процессоров. [9] Он предоставляет функции, в том числе:

  • Алгоритмы фильтрации изображений
  • Обработка нейронной сети
  • Расширенные математические операции
  • Трассировка лучей

Metal доступен со 2 июня 2014 г. на устройствах iOS на базе Apple A7 или новее. [10] а с 8 июня 2015 г. на компьютерах Mac (модели 2012 г. или новее) под управлением OS X El Capitan . [11]

5 июня 2017 года на WWDC Apple анонсировала вторую версию Metal, которая будет поддерживаться macOS High Sierra , iOS 11 и tvOS 11 . Metal 2 не является отдельным API от Metal и поддерживается тем же оборудованием. Metal 2 обеспечивает более эффективное профилирование и отладку в Xcode , ускоренное машинное обучение , более низкую нагрузку на процессор , поддержку виртуальной реальности особенностей графического процессора Apple A11 . в macOS и, в частности, [12]

На WWDC 2020 года Apple объявила о переходе Mac на Apple Silicon . Компьютеры Mac, использующие процессор Apple, будут оснащены графическими процессорами Apple с набором функций, сочетающим в себе то, что ранее было доступно в macOS и iOS, и смогут использовать преимущества функций, адаптированных к архитектуре отложенного рендеринга на основе плиток (TBDR) графических процессоров Apple. [13]

На WWDC 2022 года Apple анонсировала третью версию Metal (Metal 3), которая дебютирует с выпуском macOS Ventura , iOS 16 и iPadOS 16 . Metal 3 представляет платформу масштабирования MetalFX, которая визуализирует сложные сцены за меньшее время на кадр с высокопроизводительным масштабированием и сглаживанием, а также поддержкой сетчатых шейдеров. [14] Также объявлено о возможности использования C/C++ для Metal API. [15]

Поддерживаемые графические процессоры

[ редактировать ]

Первая версия Metal поддерживает следующее аппаратное и программное обеспечение: [16]

Вторая версия Metal поддерживает следующее аппаратное и программное обеспечение:

Третья версия Metal поддерживает следующее аппаратное и программное обеспечение:

Принятие

[ редактировать ]

По данным Apple, по состоянию на июнь 2017 года более 148 000 приложений используют Metal напрямую, а 1,7 миллиона — через высокоуровневые фреймворки . [17] Игры macOS, использующие Metal для рендеринга, перечислены ниже.

Заголовок Разработчик (версия для MacOS) Игровой движок Дата выпуска MacOS (OpenGL/DirectX) Дата выпуска на металлической основе Примечания по металлической опоре
ЕВА Онлайн КПК Игры Н/Д 6 ноября 2007 г. 14 октября 2021 г. Ранее доступно на macOS через DirectX 9.0 с ноября 2007 г. по февраль 2009 г.; Собственная версия для macOS с использованием Metal выпущена 14 ноября 2021 г. [ нужна ссылка ]
Цивилизация VI Аспир Медиа ЛОР 24 октября 2016 г. Металлическая опора с 5 апреля 2019 года. [ нужна ссылка ]
Бэтмен: Аркхем Сити Ферал Интерактив Унреальный движок 3 18 октября 2013 г. Металлическая поддержка с 21 февраля 2019 г., версия 1.2. [ нужна ссылка ]
Дота 2 Клапан Источник 2 18 июля 2013 г. MoltenVK было анонсировано 26 февраля 2018 года . [18] Возможность использовать это стала доступна 31 мая 2018 года . [19]
Квейк II программное обеспечение id Движок Quake II 9 февраля 2019 г. Порт с использованием MoltenVK был выпущен как vkQuake2. [20]
Расхитительница гробниц Ферал Интерактив Фундаментальный двигатель 17 января 2014 г. Металлическая поддержка с версией 1.2 в июле 2019 г. [ нужна ссылка ]
Восстание Расхитительницы гробниц Ферал Интерактив Фундаментальный двигатель 12 апреля 2018 г.
Тень Расхитительницы гробниц Ферал Интерактив Фундаментальный двигатель 2019
Ф1 2016 Ферал Интерактив ЭГО Двигатель 4.0 6 апреля 2017 г.
Жизнь странна 2 Ферал Интерактив Нереальный Движок 4 2019
Жизнь странна: Перед бурей Ферал Интерактив Unity Движок 13 сентября 2018 г.
Divinity: Первородный грех II Лариан Студии Божественный двигатель 2 31 января 2019 г.
Врата Балдура III Лариан Студии Божественный движок 4.0 22 сентября 2023 г. Поддержка Metal в раннем доступе с 6 октября 2020 г. [ нужна ссылка ]
Компания героев 2 Ферал Интерактив Эссенция Двигатель 3 21 января 2015 г. Металлическая опора с 19 октября 2018 г. [ нужна ссылка ]
киллер Ферал Интерактив Ледник 2 20 июня 2017 г.
Железные дороги Сида Мейера! Ферал Интерактив Геймбрио 1 ноября 2012 г. Металлическая опора с 18 декабря 2018 года. [ нужна ссылка ]
Warhammer 40,000: Dawn of War III Ферал Интерактив Сущность Двигатель 4 9 июня 2017 г.
Total War: Рим обновленный Ферал Интерактив TW Двигатель 2 29 апреля 2021 г.
Тотальная война: Троецарствие Ферал Интерактив TW Двигатель 3 23 мая 2019 г.
Тотальная война: Вархаммер Ферал Интерактив TW Двигатель 3 19 апреля 2017 г.
Тотальная война: Вархаммер II Ферал Интерактив TW Двигатель 3 20 ноября 2018 г.
Сага Total War: Престолы Британии Ферал Интерактив TW Двигатель 3 24 мая 2018 г.
Сага Total War: Троя Ферал Интерактив TW Двигатель 3 13 августа 2020 г.
Средневековье II: Тотальная война Ферал Интерактив TW Двигатель 2 17 декабря 2015 г. Металлическая опора с 25 октября 2018 г. [ нужна ссылка ]
Империя: Тотальная война Ферал Интерактив TW Двигатель 3 4 марта 2009 г. Металлическая опора с 16 декабря 2019 года. [ нужна ссылка ]
Наполеон: Тотальная война Ферал Интерактив TW Двигатель 3 2 июля 2013 г. Металлическая поддержка с 25 октября 2019 г., версия 1.2. [ нужна ссылка ]
Тотальная война: Сёгун 2 Ферал Интерактив TW Двигатель 3 31 июля 2014 г. Металлическая опора с 4 октября 2019 г. [ нужна ссылка ]
Total War: Shogun 2: Падение самурая Ферал Интерактив TW Двигатель 3 18 декабря 2014 г. Металлическая опора с 4 октября 2019 г. [ нужна ссылка ]
Биошок Ремастеринг Ферал Интерактив Унреальный движок 2.5 22 августа 2017 г.
Биошок 2 Обновленный Ферал Интерактив Унреальный движок 2.5 22 октября 2020 г.
Ф1 2017 Ферал Интерактив ЭГО Двигатель 4.0 25 августа 2017 г.
Deus Ex: Разделенное человечество Ферал Интерактив Двигатель рассвета 12 декабря 2017 г.
Ралли DiRT Ферал Интерактив ЭГО Двигатель 2.5 16 ноября 2017 г.
Баллистическое перебор Игровая студия Aquiris Юнити Движок 5 28 марта 2017 г.
БаттлТех Безрассудные схемы Юнити Движок 5 24 апреля 2018 г.
Мафия III Аспир Медиа Двигатель иллюзий 11 мая 2017 г.
Мир Варкрафта Близзард Развлечения WoW Движок 23 ноября 2004 г. Металлическая опора с августа 2016 года. [ нужна ссылка ]
Старкрафт Близзард Развлечения Модифицированный движок Warcraft II. 20 ноября 2001 г. Металлическая поддержка со 2 июля 2020 г. с версией 1.23.5. [ нужна ссылка ]
Старкрафт II Близзард Развлечения Двигатель SC2 27 июля 2010 г. Поддержка Metal в бета-версии с 24 января 2017 г. [ нужна ссылка ]
Герои Шторма Близзард Развлечения Двигатель SC2 2 июня 2015 г. Поддержка Metal в бета-версии с 24 января 2017 г. (временно удалена 29 ноября 2017 г.) [21] до ?) [ нужна ссылка ]
Fortnite Эпические игры Нереальный Движок 4 25 июля 2017 г.
Обдукция Голубые миры Нереальный Движок 4 29 марта 2017 г.
Эверспейс Морской окунь Нереальный Движок 4 26 мая 2017 г.
Ковчег: Развитие выживания Студия Wildcard Нереальный Движок 4 29 августа 2017 г.
наблюдатель Команда Блубера Нереальный Движок 4 24 октября 2017 г.
Нереальный турнир Эпические игры Нереальный Движок 4 Отменено Металлическая опора с января 2017 года. [ нужна ссылка ]
Возвратить Доминик Грисхофер Нереальный Движок 4 5 сентября 2016 г.
Города: Горизонты Парадокс Интерактив Юнити Движок 5 10 марта 2015 г. Металлическая опора с 18 мая 2017 г. [ нужна ссылка ]
Песочница Вселенной Гигантская армия Юнити Движок 5 будет объявлено позже Поддержка Metal в бета-версии с июня 2017 г. [ нужна ссылка ]
Война Гром Гайджин Развлечения Дагор Двигатель 4 1 ноября 2012 г. Металлическая опора добавлена ​​24 мая 2017 г. (удалена в 2018 г. и вновь введена 27 августа 2020 г. ) [ нужна ссылка ]
Свидетель Текла, Инк. Текла Двигатель 8 марта 2017 г.
Мировая серия микромашин Виртуальное программирование Юнити Движок 5 30 июня 2017 г.
Стражи Галактики: Серия The Telltale Контрольные игры Контрольный инструмент 18 апреля 2017 г.
Бэтмен: Враг внутри Контрольные игры Контрольный инструмент 8 августа 2017 г.
Minecraft: сюжетный режим — второй сезон Контрольные игры Контрольный инструмент 11 июля 2017 г.
ОРУЖИЕ 3 Виртуальное программирование Реальная виртуальность будет объявлено позже Поддержка Metal в бета-версии с 17 сентября 2017 г. [ нужна ссылка ]
MXGP3 Виртуальное программирование Нереальный Движок 4 23 ноября 2018 г.
Гравий Виртуальное программирование Нереальный Движок 4 20 января 2019 г.
Икс-Плейн 11 Ламинарные исследования Н/Д 30 мая 2017 г. Поддержка Metal в бета-версии со 2 апреля 2020 г. [22]
мыс Дабл Файн Продакшнс Будда Двигатель 18 ноября 2016 г.
Симс 4 Максис СмартСим 17 февраля 2015 г. Металлическая опора добавлена ​​12 ноября 2019 г. [ нужна ссылка ]
The Elder Scrolls Online Зенимакс Онлайн Студии Н/Д 4 апреля 2014 г. 22 октября 2018 г. OpenGL Renderer заменен на Vulkan через оболочку MoltenVK (преобразует вызовы API Vulkan в Metal) в патче 4.2.5.
Небо: Дети Света Этагеймкомпания Н/Д 18 июля 2019 г. Добавлена ​​поддержка Native Metal после предглобальной трансляции в ноябре 2017 года.
Обитель Злой Деревни Капком РЭ двигатель 28 октября 2022 г. Первая игра для macOS с поддержкой MetalFX

См. также

[ редактировать ]
  • Direct3D DirectX 12 представляет низкоуровневые API.
  • Mantle — низкоуровневый API от AMD
  • Vulkan – преемник OpenGL с низкими издержками
  • MoltenVK — библиотека совместимости программного обеспечения для запуска программного обеспечения Vulkan поверх Metal API
  • Веб-графический процессор
  • OpenGL — кроссплатформенный графический API
  1. ^ Маквертор, Майкл (9 сентября 2014 г.). «Это игра, которую Apple использовала, чтобы продемонстрировать iPhone 6» . Полигон . Вокс Медиа . Архивировано из оригинала 11 сентября 2014 года . Проверено 9 сентября 2014 г.
  2. ^ «Начало работы с Metal-CPP — Металл» .
  3. ^ Apple Inc. «Спецификация языка металлического шейдинга» (PDF) .
  4. ^ «Настройка структуры команд» . Apple Инк.
  5. ^ «Руководство по языку металлического шейдинга» . 8 сентября 2014 года . Проверено 10 сентября 2014 г.
  6. ^ Apple Inc. «Настройка режима хранения ресурсов» .
  7. ^ «Синхронизация управляемого ресурса» . Apple Инк.
  8. ^ «Выбор графического процессора в macOS» . Apple Инк.
  9. ^ «Шейдеры производительности металла» .
  10. ^ Мачкович, То же (2 июня 2014 г.). «Apple увлеклась играми и анонсировала платформу разработки Metal» . Арс Техника . Конде Наст .
  11. ^ Смит, Колин; Меза, Старлейн (8 июня 2015 г.). «Apple анонсирует OS X El Capitan с улучшенными возможностями и улучшенной производительностью» . Отдел новостей . Сан-Франциско : Apple .
  12. ^ «Архивная копия домашней страницы Metal, ноябрь 2017 г.» . Разработчик Apple . Яблоко . 20 ноября 2017 г. Архивировано из оригинала 20 ноября 2017 г. — через Wayback Machine . {{cite web}}: CS1 maint: bot: исходный статус URL неизвестен ( ссылка )
  13. ^ «Перенесите свое приложение Metal на компьютеры Apple Silicon Mac» . разработчик.apple.com . Проверено 13 июля 2020 г.
  14. ^ «Открой металл 3» . разработчик.apple.com . Проверено 24 июня 2022 г.
  15. ^ «Программа Metal на C++ с помощью metal-cpp» . разработчик.apple.com . Проверено 10 сентября 2022 г.
  16. ^ Кьяппетта, Марко (11 декабря 2018 г.). «Apple отвернулась от клиентов и NVIDIA с macOS Mojave» . Форбс .
  17. ^ Apple Inc. «Состояние платформ на WWDC 2017» .
  18. ^ «Приложения Vulkan, доступные на платформах Apple» . Пресс-релиз группы «Хронос» . Проверено 24 февраля 2021 г.
  19. ^ Ларабель, Майкл (1 июня 2018 г.). «Первоначальная производительность Vulkan на macOS с Dota 2 выглядит очень хорошо» . Фороникс . Проверено 5 июня 2018 г.
  20. ^ Кондрак, Кшиштоф [@k_kondrak] (9 февраля 2019 г.). «vkQuake2 получает поддержку MacOS» ( твит ) . Проверено 9 февраля 2019 г. - через Twitter .
  21. ^ «ОБНОВЛЕНИЕ БАЛАНСА HEROES OF THE STORM — 29 НОЯБРЯ 2017 ГОДА» . news.blizzard.com . 29 ноября 2017 г.
  22. ^ «Публичная бета-версия 1 X-Plane 11.50: Вулкан и Металл уже здесь» . Разработчик X-Plane . 2 апреля 2020 г. . Проверено 2 апреля 2020 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 0fe37b8ab33ec7b8a0b70fbfb16dd42c__1721579160
URL1:https://arc.ask3.ru/arc/aa/0f/2c/0fe37b8ab33ec7b8a0b70fbfb16dd42c.html
Заголовок, (Title) документа по адресу, URL1:
Metal (API) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)