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

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

Разработчик

Ссылка платформы QuartzCore ссылка класса CAMetalLayer

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

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

CAMetalLayer

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


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


Swift

import QuartzCore

Objective C

@import QuartzCore;

Доступность


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

A CAMetalLayer объект является Базовым Слоем анимации, управляющим пулом Металлических текстур для рендеринга довольного Металл использования. Для использования Металла для рендеринга в приложении используйте этот класс в качестве отступающего уровня для представления путем возврата его из представления layerClass метод класса. Для рендеринга содержания уровня используйте nextDrawable метод для получения текстуры затем используйте его в качестве цели рендеринга в Металлическом конвейере рендеринга. После рендеринга каждого кадра Вы представляете новое содержание для дисплея с presentDrawable: или presentDrawable:atTime: метод буфера команд Вы использовали для рендеринга.

  • device Свойство

    Металлическое устройство, ответственное за drawable ресурсы уровня.

    Объявление

    Swift

    var device: MTLDevice!

    Objective C

    @property(readwrite, retain) id< MTLDevice > device

    Обсуждение

    Это свойство определяет, который Металл устройства использует для создания MTLTexture объекты Вы используете для рендеринга содержания уровня.

    Значение по умолчанию nil— необходимо установить устройство для уровня перед рендерингом.

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

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

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

  • pixelFormat Свойство

    Формат пиксельных данных текстур для рендеринга содержания уровня.

    Объявление

    Swift

    var pixelFormat: MTLPixelFormat

    Objective C

    @property(readwrite) MTLPixelFormat pixelFormat

    Обсуждение

    Формат пикселя для Слоя металла должен быть также MTLPixelFormatBGRA8Unorm (значение по умолчанию) или MTLPixelFormatBGRA8Unorm_sRGB.

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

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

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

  • framebufferOnly Свойство

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

    Объявление

    Swift

    var framebufferOnly: Bool

    Objective C

    @property(readwrite) BOOL framebufferOnly

    Обсуждение

    Если значение YEStrue (значение по умолчанию), класс CAMetalLayer может выделить свои объекты MTLTexture способами, оптимизированными в целях дисплея. Однако эта опция делает те текстуры неподходящими для выборки и пиксельных операций чтения-записи. Для поддержки выборки и пиксельных операций чтения-записи на текстурах уровня (по стоимости для производительности) установите это значение в NOfalse.

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

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

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

  • drawableSize Свойство

    Размер, в пикселях, текстур для рендеринга содержания уровня.

    Объявление

    Swift

    var drawableSize: CGSize

    Objective C

    @property(readwrite) CGSize drawableSize

    Обсуждение

    По умолчанию уровень продает текстуры, измеренные для соответствия его содержания — т.е. значение этого свойства является уровнем bounds размер, умноженный на contentsScale фактор.

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

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

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

  • Возвращает drawable объект для рендеринга содержания уровня.

    Объявление

    Swift

    func nextDrawable() -> CAMetalDrawable!

    Objective C

    - (id<CAMetalDrawable>)nextDrawable

    Возвращаемое значение

    drawable объект. Используйте drawable’s texture свойство для конфигурирования a MTLRenderPipelineColorAttachmentDescriptor объект для рендеринга к содержанию уровня.

    Обсуждение

    A CAMetalLayer объект поддерживает внутренний пул текстур для отображения содержания уровня, каждый обернутый в a CAMetalDrawable объект. Используйте этот метод для получения следующей доступной текстуры от пула. Затем, используйте a MTLRenderCommandEncoder возразите, чтобы представить в текстуре, затем представить ее для дисплея (обычно с presentDrawable: метод буфера команд). В то время как одно drawable представляется, можно вызвать nextDrawable метод снова, чтобы начать представлять другому. После представления другого drawable, заменяя последнего представленного, уровень может сохранить замененный базовый drawable’s MTLTexture объект для повторного использования.

    Вызов этого метода блокирует текущий поток ЦП, пока новый drawable объект не доступен. Существует только маленький набор drawable ресурсов, таким образом, долгое время кадра GPU могло временно исчерпать те ресурсы, вынудив этот вызов блокировать, пока рендеринг GPU не завершен. Для лучших результатов запланируйте Ваш nextDrawable вызовите уже в возможном относительно другой работы CPU на кадр.

    Этот метод возвраты nil если уровень pixelFormat или другие свойства недопустимы.

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

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

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

  • presentsWithTransaction Свойство

    Булево значение, определяющее, представляет ли уровень свое содержание с помощью Базовой транзакции Анимации.

    Объявление

    Swift

    var presentsWithTransaction: Bool

    Objective C

    @property(getter=presentsWithTransaction) BOOL presentsWithTransaction

    Обсуждение

    Если это значение NOfalse (значение по умолчанию), Вы выводите на экран вывод передачи рендеринга асинхронно с presentDrawable: или presentDrawable:atTime: метод буфера команд Вы использовали для рендеринга.

    Если это значение YEStrue, уровень выводит на экран свое drawable содержание синхронно, с помощью то, какой бы ни Базовая транзакция Анимации является текущей в это время drawable’s present метод вызывают. Когда вызвать, Однако, если Вы позволяете Металлу выбирать present метод (при помощи presentDrawable: метод буфера команд), транзакция, во время которой Вы запланировали представление, могла бы закончиться, прежде чем drawable готово быть представленным. Для предотвращения этой ситуации фиксируйте буфер команд и вызовите waitUntilScheduled метод для синхронного ожидания до drawable готов, затем вызовите drawable’s present метод непосредственно.

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

    Objective C

    @import QuartzCore;

    Swift

    import QuartzCore

    Доступность

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