Что такое metal apple

Проверяем Mac на предмет поддержки Metal

Выпуск OS X El Capitan — событие знаковое по целом ряду причин. Новая версия не только получила отличные оценки в App Store благодаря стабильности и скорости работы — ваш покорный слуга удостоверился в этом на устройстве семилетней давности — но и принесла с собой интересные функции, среди которых поддержка известного по iOS 8 интерфейса Metal. Несмотря на умеренные требования ОС к аппаратному обеспечению, новый API доступен не для всех моделей Mac, и проверить его работоспособность проще простого.

По заявлению Apple, новая функция, призванная значительно ускорить графическую составляющую приложений, будет работать со всеми Mac, начиная с выпущенных в 2012 году. Однако своеобразная путаница всё же возникала: поддерживались не все конфигурации, а некоторые пользователи сообщали о работе Metal и на более старых устройствах, например Mac Pro, оснащённых видеокартами Radeon 7-й серии от AMD. Чтобы внести ясность в этот вопрос, разработчики из Fabulous Panda написали специальную утилиту, отображающую статус поддержки Metal компьютером.

Сама программа написана на Java и работает предельно просто: при наличии соответствующего оборудования она выдаст, например, такой результат.

Название: Metaltest for Mac
Издатель/разработчик: Fabulous Panda
Цена: Бесплатно
Встроенные покупки: Нет
Совместимость: OS X 10.11
Ссылка: Установить

По материалам Macnotes.de

Новости, статьи и анонсы публикаций

Свободное общение и обсуждение материалов

Лонгриды для вас

Если на удаленке у вас сломался телефон, отремонтировать его будет не так просто. Но есть сервисный центр, который предлагает набор услуг, позволяющих существенно облегчить этот процесс. Вам не надо будет выходить из дома, а еще вам дадут подменный смартфон.

Аксессуары приносят Apple огромную прибыль. Выбрали 5 самых популярных, на которые жалко денег, но они того стоят

Apple наконец решилась на выпуск iPhone без чёлки и даже успела его запатентовать. Это было нужно, потому что компания придумала, как разместить датчики сканирования лица под экраном. А вот на Touch ID рассчитывать, скорее всего, не стоит

Источник

Что такое Apple Metal API

Еще несколько лет назад Apple представила новое графическое API — Metal. Отличие его от того же Scene Kit было в том, что он явялется не высокоуровневым API, работающим поверх OpenGL ES (мобильной версии OpenGL), а низкоуровневым API для рендеринга и вычислений, который может заменить собой OpenGL. По словам Apple, Metal на порядок быстрее OpenGL ES (правда, на деле в 10 раз быстрее происходят только вызовы отрисовки — draw calls, передача данных на GPU). Этот API доступен для всех устройств, работающих на процессоре A7 и новее, а так же на Mac начиная с 2012 года.

Принципы работы графических API

Для начала — что такое API? Расшифровывается это как Application Programming Interface, программный интерфейс приложения. Говоря простым языком — это готовый код, который позволяет существенно облегчить жизнь программисту при написании программ. По сути это некоторый полуфабрикат — основываясь на этом коде можно гораздо быстрее и проще написать свою программу.

Теперь разберемся с тем, как собственно сам GPU работает с API. Неверно думать, что вызов API напрямую работает с GPU, и тем более неверным является то, что GPU заканчивает обработку вызова при возвращении результата API. К примеру, если бы драйвер выполнял команды рендеринга в тот момент, когда они были созданы, то простаивал бы CPU, ожидая выполнения рендеринга. А после выполнения было бы наоборот — простаивал бы GPU, ожидая пока придут новые команды от драйвера.

Читайте также:  Размер длина ширина айфон 6

По этой причине CPU и GPU работают асинхронно: графический драйвер сначала собирает все вызовы отрисовки для всего кадра, и только потом отправляет их на GPU. Далее, когда приходит команда на отрисовку следующего кадра, этот кадр уже будет обработан GPU. То есть мы получаем задержку в один кадр: пока CPU готовит вызов для текущего кадра, на GPU рендерится прошлый. На деле можно буферизировать и больше одного кадра, и тем самым получать большую частоту кадров: все зависит только от производительности процессора и видеокарты.

Нововведения в API Metal

В чем же плох метод, описанный выше? Он плох в том, что между GPU и API есть посредник — драйвер. И именно он управляет задержками. В API Metal же буферы команд открыты, и приложение может само их заполнять и отправлять их в очередь команд для выполнения на GPU. Таким образом, приложение имеет полный контроль над заданием и может управлять задержками. Более того — теперь можно легко параллелить команды и помещать их в буфер в определенном порядке, так как для программиста становится более очевидным то, какие результаты в каком порядке будут доступны.

Еще одно важное нововведение уже аппаратное: на процессорах Apple A7 и выше Metal заточен под работу с общей памятью, то есть CPU и GPU могут получать доступ к одним данным без необходимости перебрасывать их по шине PCI. Metal дает прямой доступ для программы к буферам CPU, и программист вполне может «смешивать» вычисления на GPU и CPU, что может существенно ускорить программу.

Реальный выигрыш от API Metal

Как я объяснял выше, каждый вызов отрисовки занимает некоторое время на CPU и GPU. Ренденринг на GPU сделать быстрее нельзя по очевидным причинам (он завязан только на производительность самого GPU), но можно выиграть в другом: во-первых, можно уменьшить время на передачу данных (так как Metal работает с общей памятью), во-вторых — уменьшить время обработки вызова на CPU. Время обработки вызова на CPU уменьшается за счет отсутствия посредника-драйвера и за счет параллельного построения буфера команд.

И тут возникает вопрос — а про какое десятикратное увеличение производительности вела речь Apple? Да вот именно про то, что время вызова на CPU теперь сильно меньше. Но вот GPU тут почти не затрагивается, так что в итоге напрямую улучшить графику за счет API Metal увы — нельзя. Но так как освободился процессор — его можно загрузить физикой: обсчетом физики частиц, взаимодействия множества объектов (все помнят сотню летающих обезьян на презентации iPhone 7?), обсчетом эффектов ткани и воды, и так далее. И так как этим раньше занимался GPU, то мы его освобождаем, и получается что косвенно он теперь может выводить лучшую картинку, что мы в играх (в том же Asphalt 8) и видим (обратите внимание на детализацию брусчатки и эффекты):

Взаимодействие OpenGL и Metal

Как видно из вышенаписанного — реально Metal улучшает жизнь процессору. Поэтому если система не поддерживает Metal, но имеет очень мощный процессор, то особого труда переписать игру под OpenGL нет — и именно это мы и видим в Vainglory под Android — для получения максимальной графики (уровень Apple A9) на OpenGL требуется топовый процессор уровня Snapdragon 820, который по голой производительности (во FLOPS-ах) мощнее A9 в два с копейками раза.

Apple Metal 2

На июньской презентации Apple представила новую версию Metal. Основные улучшения — это поддержка VR, машинного обучения и внешних GPU, что в теории позволит портировать под Mac игры с PC без всякого ухудшения графики (на данный момент порты большинства игр представляют собой по сути запуск Wine, что достаточно сильно снижает производительность и очень сильно отражается на и без того достаточно слабых GPU в Mac). Но как это будет реальности — увидим уже только в будущем.

Читайте также:  Мой рабочий стол mac apple

Источник

Metal

Accelerating graphics and much more.

Metal provides a platform-optimized, low-overhead API for developing the latest 3D pro applications and amazing games using a rich shading language with tighter integration between graphics and compute programs. To help you do more while managing ever more complex shader code, Metal adds an unparalleled suite of advanced GPU debugging tools to help you realize the full potential of your graphics code.

What’s new

Enhanced graphics and compute integration

To better realize the latest GPU rendering techniques, you can now call dynamic libraries, use function pointers, and leverage the Ray Tracing API directly from your graphics shaders.

Function stitching

Efficiently combine precompiled functions into more complex functions at run time. This allows shader authoring tools to precompile individual shader nodes while maintaining flexibility as they author shaders.

New Ray Tracing features

The Ray Tracing API now supports motion blur, user instance IDs, and an extension of numerical limits to help you generate immensely complex scenes with professional renders.

GPU-accelerated ML training

MPSGraph adds new operations and optimizations using Metal buffer-based ML primitives on the GPU, so you can accelerate ML model training on Mac with higher peak performance.

Metal plugin for TensorFlow

Metal adds support for the PluggableDevice interface for TensorFlow, so you can start training with great performance on macOS Monterey.

GPU Performance State Debugger

Optimize your graphics code for power and performance on all Apple platforms.

Metal Debugger timeline view

To help achieve peak performance with the latest rendering techniques, Metal Debugger now includes performance counters and bottleneck analysis tools while providing a unified view of Metal commands, resources, and buffers on the timeline of GPU events.

Selective Shader Debugger

To dramatically reduce the time it takes to debug incredibly large GPU shader code, Xcode 13 now includes the option to target and debug specific functions within the overall GPU shader code.

GPU Address Sanitizer

Xcode 13 can automatically find difficult bugs, such as buffer overruns, in complex GPU shader code.

Texture Converter Tool

To simplify optimizing game texture assets for Apple platforms, the new Texture Converter Tool supports the latest modern texture formats used by high-end games. For game developers with a Windows-based build environment, the Texture Converter Tool is also available in the Metal Tools for Windows package.

Documentation

Browse the latest documentation, including API reference and articles.

Metal-cpp

Add Metal functionality to graphics apps, games, and game engines using low overhead Metal C++ headers.

Metal Developer Tools for Windows

Bring your high-end games and assets to Mac with the Texture Converter Tool and Metal Shader Compiler.

Sample code

Get sample code to see how Metal APIs are implemented.

Videos

Learn how to take advantage of the latest advancements in Metal.

Forums

Ask questions and discuss Metal with Apple engineers and other developers.

Источник

Metal в iOS 8 – новое слово в мобильной графике

Программные новинки Apple удается скрывать куда лучше, чем новые устройства – такова тенденция последнего времени. В ходе презентации на WWDC 2014 компании удалось немало удивить разработчиков и особенно геймеров, использующих мобильные устройства для игр. Им обещан новый и невиданный доселе уровень графики в играх для мобильных устройств Apple. Это станет возможно благодаря новым инструментам для разработчиков, доступным в iOS 8 под суровым названием Metal. У тех, кто смотрел презентацию, наверняка могла слегка отвиснуть челюсть при демонстрации возможностей графики с использованием Metal – этого эффекта и добивались в Apple. Но насколько реально увидеть все эти красоты через три месяца, когда выйдет iOS 8? Попробуем разобраться.

Новые возможности для разработчиков в iOS 8 представлял Крейг Федериги, устроивший настоящее шоу на сцене Moscone Center в Сан-Франциско. Опуская все эпитеты, выделим, что технология Metal разработана специально для процессоров А7 (вероятно, и для всех последующих) и предоставляет приложениям прямой и непосредственный доступ ко всем возможностям GPU данной системы на чипе. Рост скорости прорисовки в «тяжелых» графических сценах может составлять до 10 раз, относительно текущего положения вещей. Для демонстрации использовалась сцена из новой игры от PopCap Plants vs. Zombies: Garden Warfare, которая переносит противостояние растений и мертвяков в полностью трехмерное окружение. При помощи Metal на экране могут прорисовываться сцены, состоящие из 1,3 млн треугольников – невиданный для мобильных устройств показатель.

Читайте также:  Айфон не работает как модем через usb кабель

Для закрепления успеха на сцену пригласили Тима Суини из Epic Games, который показал ставшую уже знаменитой демонстрационную версию проекта Zen Garden. На экране iPad падали тысячи листьев, порхали сотни бабочек, рыбы плавали в необычайно реалистичной воде, а отражения и эффект частиц поднялись на недосягаемую высоту для существующих игр для iOS. По словам Суини, технология Metal позволяет высвободить достаточное число ресурсов для реализации всей этой красоты на экране мобильного устройства. Однако Zen Garden – это не просто демонстрация красивой картинки на презентации, это пусть и демонстрационный, но все-таки продукт, который станет доступен в App Store c выходом iOS 8. Каждый желающий сможет оценить эту красоту.

Но что же такое Metal на самом деле? Говоря по правде, Metal – это не первая подобная разработка, которая дебютирует в ближайшее время. По относительно похожей схеме действуют DirectX 12 от Microsoft и Mantle от AMD. Суть в низкоуровневом доступе к графической системе устройства в обход всех существовавших ранее библиотек и драйверов. Проще говоря, разработчики получат практически прямой доступ к GPU системы на чипе А7, а Metal станет своего рода API для получения этого доступа.

Выражаясь простым языком, теперь разработчики могут говорить, что делать напрямую графической подсистеме. Раньше это делалось через процессор, который принимал команды и уже затем перенаправлял их GPU. Это было тем самым бутылочным горлышком, ограничивающим разработчиков в создании качественной графики. Причем не только на мобильных устройствах, но и на любых других. Для этого и создавались DirectX12, Mantle, а теперь и Metal.

Тем не менее, производительность настольных компьютеров и мобильных устройств по-прежнему серьезно отличается, и вполне резонным будет вопрос о целесообразности низкоуровневого доступа к GPU на мобильных устройствах. На самом деле системы на чипе, используемые в смартфонах и планшетах, нуждаются в подобном подходе не просто не меньше, а может быть даже и больше, чем полноценные компьютеры. Мобильные процессоры серьезно отстают от графических чипов по росту производительности и любая возможность разгрузить первые, увеличив при этом эффективность вторых должна восприниматься сугубо положительно.

Весьма остро стоит вопрос о том, смогут ли разработчики одинаково успешно разрабатывать многоплатформенные игры для мобильных устройств, используя Metal. Понятно, что Apple выстраивает единую экосистему, в которой интеграция железа и программного обеспечения, созданного для него, является близкой к максимальной. В то же время, компания не контролирует ничего за пределами этой экосистемы, поэтому разработчикам предстоит искать иные пути для обхода ограничений, которые наверняка возникнут при попытке перенести игру с iOS на Android или любую другую мобильную платформу.

О поддержке Metal уже заявили Epic Games, Crytek, Electronic Arts и Unity. То есть красоты, которые мы видели в The Collectables – это далеко не предел. Нас ждут Unreal Engine 4 и Frostbite 3 – игровые движки, которые совместно с Metal наверняка поднимут уровень графики в мобильных играх на новые высоты. Ждать осталось недолго. Финальная версия iOS 8 станет доступна приблизительно в сентябре, а там уже недолго до первых игр с новым уровнем графики. Уверен, что многие разработчики подготовятся к этому событию заранее, чтобы быть одними из первых. Осталось лишь решить вопрос с энергопотреблением, потому что энергоэффективность вряд ли будет коньком новой технологии. [Anandtech]

Источник

Оцените статью