Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Металлическая ссылка платформы ссылка на протокол MTLCommandEncoder

Опции
Развертывание Target:

На этой странице
Язык:

MTLCommandEncoder

Наследование


Не применимый

Соответствует


Оператор импорта


Swift

import Metal

Objective C

@import Metal;

Доступность


Доступный в iOS 8.0 и позже.

MTLCommandEncoder протокол определяет единый интерфейс для объектов, которые могут записать команды в буфер команд.

Ваше приложение не определяет классы, реализующие этот протокол. Объекты кодера команды вместо этого создаются от Вашего имени MTLCommandBuffer объект. Объекты кодера команды являются легкими объектами, которые Вы воссоздаете каждый раз, когда необходимо выполнить работу. Существует много различных видов кодеров команды, каждый обеспечивающий различный набор команд, которые могут быть закодированы в буфер. Кодер команды реализует MTLCommandEncoder протокол и протокол, определенный для вида создаваемого кодера. Таблица 1 перечисляет различные виды кодеров команды, которые могут быть созданы и протоколы, которые они реализуют. Для получения дополнительной информации о том, как создать кодеры команды, посмотрите MTLCommandBuffer протокол.

Табличные 1Command протоколы кодера

Протокол

Описание

MTLRenderCommandEncoder

Кодер используется для задач рендеринга графики.

MTLComputeCommandEncoder

Кодер используется для вычислительных задач.

MTLBlitCommandEncoder

Кодер используется для задач управления памятью.

MTLParallelRenderCommandEncoder

Кодер раньше кодировал многократные задачи рендеринга графики параллельно.

В то время как кодер команды активен, он имеет исключительное право добавить команды к своему буферу команд. Как только Вы заканчиваете кодировать команды, вызовите endEncoding метод, чтобы закончить кодировать команды. Для записи дальнейших команд в тот же буфер команд создайте новый кодер команды.

Можно вызвать insertDebugSignpost:, pushDebugGroup:, и popDebugGroup методы, чтобы поместить строки отладки в буфер команд и продвинуть или вытолкать строковые метки раньше идентифицировали группы закодированных команд. Эти методы не изменяют рендеринг или вычисляют поведение Вашего приложения; они привыкли отладчиком XCode к организовать команды рендеринга Вашего приложения в форме, которая может помочь Вам найти понимание, как работает Ваше приложение.

  • endEncoding () - endEncoding Требуемый

    Объявляет, что завершается вся генерация команды от этого кодера. (требуемый)

    Объявление

    Swift

    func endEncoding()

    Objective C

    - (void)endEncoding

    Обсуждение

    После endEncoding вызывается, кодер команды не имеет никакого дальнейшего использования. Вы не можете закодировать никакие другие команды с этим кодером.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Вставляет строку в буфер команд. (требуемый)

    Объявление

    Swift

    func insertDebugSignpost(_ string: String)

    Objective C

    - (void)insertDebugSignpost:(NSString *)string

    Обсуждение

    При отладке с XCode может появиться эта строка.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • Продвигает именованную строку на штабель строковых меток. (требуемый)

    Объявление

    Swift

    func pushDebugGroup(_ string: String)

    Objective C

    - (void)pushDebugGroup:(NSString *)string

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

    См. также

    – popDebugGroup

  • popDebugGroup () - popDebugGroup Требуемый

    Выталкивает последнюю именованную строку от штабеля строковых меток. (требуемый)

    Объявление

    Swift

    func popDebugGroup()

    Objective C

    - (void)popDebugGroup

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

    См. также

    – pushDebugGroup:

  • device Свойство

    Устройство, из которого создавался этот кодер команды. (требуемый) (только для чтения)

    Объявление

    Swift

    var device: MTLDevice { get }

    Objective C

    @property(readonly) id< MTLDevice > device

    Обсуждение

    Этот кодер команды может только использоваться с этим устройством.

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.

  • label Требуемое свойство

    Строка раньше идентифицировала этот объект. (требуемый)

    Объявление

    Swift

    var label: String? { get set }

    Objective C

    @property(copy, atomic) NSString *label

    Оператор импорта

    Objective C

    @import Metal;

    Swift

    import Metal

    Доступность

    Доступный в iOS 8.0 и позже.