Metal для mac os

Как проверить, поддерживает лишь ваш Mac технологию Metal в OS X El Capitan

Фреймворк относится к числу новейших разработок Apple, однако совместим с целым спектром чипов Intel, NVIDIA и AMD прошлых лет. Общий официальный ограничитель – сборка компьютера Mac должна быть не древнее 2012-го года, но все варьируется от модели к модели.

Во-первых, низкоуровневый, фактически прямой доступ к графическим мощностям Mac минимизирует необходимость использования OpenGL – увеличивается скорость решения типовых задач. Во-вторых, перенос целевой нагрузки с CPU на GPU высвобождает энное количество системных ресурсов (до 40%), что сулит ускорение параллельной обработки неграфических пакетов данных. В-третьих, ренденринг при применении систем эффектов вроде Adobe After Effects будет происходить в 8-10 раз быстрее наблюдаемых ныне темпов. Все это и множество мелких, интересных лишь узким специалистам нюансов, доступно при взаимодействии Metal с последними моделями графических систем от ведущих производителей.

В силу того, что модельный ряд Mac включает в себя десктопы, моноблоки и ноутбуки разных конфигураций, единое требование, «не старше 2012-го года», следует воспринимать с оговоркой.

Список моделей, поддерживающих Metal, ниже:

  • 21,5-дюймовые iMac от 2012 и новее.
  • 27-дюймовые iMac от 2012 и новее.
  • 27-дюймовые iMac с дисплеями 5K Retina образца 2013 и новее.
  • Mac Mini 2012 года выпуска и новее.
  • Mac Pro, выпущенные в середине 2012 и конце 2013 гг.
  • Новейшие 12-дюймовые MacBook образца весны 2015.
  • MacBook Air с дисплеями 11 и 13 дюймов 2012 и новее.
  • 13-дюймовый и 15-дюймовый MacBook Pro 2012 и новее.
  • MacBook Pro с Retina-дисплеем, обе модификации с диагональю 13 и 15 дюймов, новее 2012.

Как проверить дату выпуска своего Mac:

1. Нажмите на меню  и откройте раздел Об этом Mac.

2. Под названием операционной системы и данными о ее версии находим строку с типом модели и периодом ее выпуска.

3. В данном примере – очевидно, что все преимущества Metal не будут доступны владельцу этого компьютера.

OS X El Capitan Developer Preview уже доступна для авторизованных тестеров, практически без проблем устанавливается и запускается на компьютерах, что помнят еще старый добрый Mavericks. Однако полноценная сборка OS X El Capitan в виде бесплатного обновления вряд ли окажется доступна раньше осени текущего года. К тому же Apple не спешит публиковать конкретные системные требования, так что пока придется отталкиваться от косвенных данных по совместимости с моделями прошлых лет. Зато яблочная компания своевременно позаботилась предложить разработчикам инструментарий MetalKit с настойчивой рекомендацией не мешкать в его освоении. Что и было сделано, по крайней мере, Epic Games еще год назад показала Unreal Engine 4, адаптированный для максимально полного использования возможностей Metal.

Источник

Что такое 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 года.

Читайте также:  Software microsoft windows currentversion explorer fileexts openwithlist

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

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

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

По этой причине 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 уменьшается за счет отсутствия посредника-драйвера и за счет параллельного построения буфера команд.

Читайте также:  Командная строка windows путь с пробелами

И тут возникает вопрос — а про какое десятикратное увеличение производительности вела речь 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). Но как это будет реальности — увидим уже только в будущем.

Источник

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.

Читайте также:  Настроить печать по wifi windows 10

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 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.

Источник

Проверяем 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

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

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

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

Думаете, iPhone 12 mini провалился? А вот и нет. Но Apple всё равно решила свернуть производство линейки iPhone mini после этого года. Разберемся, почему в Купертино так поступают.

Аналог AirPower от Xiaomi официально поступил в продажу. Это беспроводная зарядная станция с 19 катушками и поддержкой быстрой ⚡️ зарядки, расположенными внахлёст, по цене 129 долларов США

Переносите данные со старого iPhone на новый? Рассказываем о том, почему стоит попробовать не делать этого! iPhone без ваших любимых фотографий не так уж плох, во всяком случае, у нас есть несколько причин так считать

Источник

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