Metal — это стандартный графический API для устройств Apple. Unity поддерживает Metal на iOSмобильной операционной системе Apple. Подробнее
См. в Словарь, tvOS и macOS (Standalone и Editor).
Metal имеет более широкий набор функций на платформах Apple, чем OpenGL ES. Ознакомьтесь с преимуществами и недостатками использования Metal ниже.
Преимущества использования металла
- Снижение нагрузки на ЦП при вызовах графического API
- Уровень проверки уровня API
- Улучшенное управление графическим процессором в системах с несколькими графическими процессорами.
- Поддерживает цели рендеринга без памяти (в iOS/tvOS)
- Новый стандарт Apple для Apple
- Компьютерные шейдеры
- Шейдеры тесселяции
Недостатки использования металла
- Нет поддержки недорогих устройств.
- Нет поддержки геометрических шейдеров
Ограничения и требования
iOS и tvOS поддерживают Metal для Apple A7 или более новых SoC.
В macOS Metal поддерживается Intel HD и Iris Graphics из серии HD 4000 или новее, графические процессоры на базе AMD GCN и графические процессоры на базе Nvidia Kepler или новее.
Минимальная целевая цель компиляции шейдера – 3,5.
Metal не поддерживает геометрические шейдерыПрограмма, работающая на графическом процессоре. Подробнее
См. в Словарь.
Включение металла
Чтобы редактор Unity и автономный проигрыватель использовали Metal в качестве графического API по умолчанию, выполните одно из следующих действий:
В редакторе перейдите в меню: Правка > Настройки проектаШирокий набор настроек, которые позволяют вам настроить поведение физики, аудио, сети, графики, ввода и многих других областей вашего проекта. Подробнее
См. Словарь, затем выберите категорию Игрок и включите Поддержку Metal Editor.Или, если вы используете MacOS, откройте Терминал и используйте
-force-metal
аргумент командной строки.
Metal включен по умолчанию на автономных проигрывателях iOS, tvOS и macOS.
Проверка Metal API
Xcode предлагает проверку Metal API, которую можно использовать для отслеживания неясных проблем. Чтобы включить проверку Metal API в Xcode:
В Unity создайте проект для iOS. Это создает проект Xcode.
Откройте сгенерированный проект Xcode в Xcode и выберите Редактировать схему.
- Выберите Выполнить > Параметры > Проверка Metal API и выберите Включено
Ошибки проверки прерывают выполнение кода в редакторе XCode и появляются в журналах устройств.
Примечание. Включение проверки увеличивает нагрузку на ЦП, поэтому включайте ее только для отладки.
Выбор устройства GPU
Metal позволяет выбрать устройство GPU при запуске приложения. Это позволяет вам тестировать проект с различными настройками графического процессора или экономить электроэнергию за счет использования маломощного графического процессора.
Чтобы изменить целевое устройство графического процессора в редакторе Unity, выберите меню: Unity > Настройки… > Общие и установите Устройство на Использование:
Чтобы изменить целевое устройство GPU для автономного проигрывателя, запустите приложение (или выберите в меню: Файл > Сборка и запуск) и установите графическое устройство для использования на соответствующий GPU в появившемся диалоговом окне:
Использование целей рендеринга без памяти
Metal позволяет использовать цели рендеринга без памяти для оптимизации памяти на мобильных устройствах, представленных в iOS и tvOS 10.0. Это позволяет выполнять рендеринг в RenderTexture без резервного копирования в системной памяти, поэтому содержимое только временно сохраняется в памяти на плитке во время рендерингаПроцесс отрисовки графики на экран (или текстуры рендеринга). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
См. в Словарь.
Дополнительную информацию см. в разделе RenderTexture.memorylessMode.
- Добавлен совет по использованию Металла в 2017.4.