stringtranslate.com

Кварцевый композитор

Quartz Compositor — это сервер отображения (и одновременно оконный менеджер композиции ) в macOS . Он отвечает за представление и поддержку растровой , визуализированной графики из остальной части платформы Core Graphics и других средств рендеринга в семействе технологий Quartz . [1]

Обзор

Вывод растрового изображения из Quartz 2D , OpenGL , Core Image , QuickTime или другого процесса записывается в определенную ячейку памяти или резервное хранилище . Затем композитор считывает данные из резервных хранилищ и собирает их в одно изображение для дисплея, записывая это изображение в память кадрового буфера видеокарты. Quartz Compositor принимает только растровые данные и является единственным процессом, который может напрямую обращаться к буферу графических кадров. [2]

При управлении отдельными окнами Quartz Compositor принимает растровое изображение содержимого окна от средства визуализации вместе с его положением. Выбор рендерера зависит от конкретного приложения, хотя большинство использует Quartz 2D. Затем Quartz Compositor действует как «визуальный микшерный пульт», добавляя заданное окно ко всей сцене для отображения.

В роли оконного менеджера Quartz Compositor также имеет очередь событий , которая получает такие события, как нажатия клавиш и щелчки мыши. Quartz Compositor берет события из очереди, определяет, какому процессу принадлежит окно, в котором произошло событие, и передает событие процессу. [3]

Кварц Экстрим

В Mac OS X v10.2 представлена ​​Quartz Extreme: ускорение графического процессора (GPU) для Quartz Compositor. Благодаря Quartz Extreme для композиции сцены требуется гораздо меньше циклов центрального процессора (ЦП). Вместо этого Quartz Compositor инкапсулирует каждое отображаемое резервное хранилище в текстурную карту или поверхность OpenGL. Затем он дает указание графическому процессору скомпоновать поверхности и карты для получения окончательного изображения, которое доставляется в буфер кадра.

Quartz Extreme использует только команды OpenGL и требует видеокарты, подключенной к шине AGP 2X или более быстрой (включая AGP 4X, 8X и PCI Express ), поддерживающей текстуры и карты произвольного размера, поскольку многие средства рендеринга не имеют ограничения размера ( Кварц 2D например). [2] В Mac OS X Tiger он автоматически включается в системах Mac с одним из следующих типов видеокарт : [4]

Начиная с OS X El Capitan , Quartz Extreme включен на всех поддерживаемых компьютерах Mac.

КварцGL

QuartzGL (названный Quartz 2D Extreme, когда он был представлен в Mac OS X Tiger ) — это ускорение графического процессора для Quartz 2D API. При включенном QuartzGL все команды рисования Quartz преобразуются в команды OpenGL и выполняются на графическом процессоре. Это отличается от Quartz Extreme, который по-прежнему выполняет команды рисования Quartz на ЦП, но окончательную композицию выполняет с использованием графического процессора.

Начиная с OS X Mountain Lion , QuartzGL по-прежнему не включен по умолчанию. Однако его можно включить с помощью приложения Quartz Debug, входящего в состав Apple Developer Tools . QuartzGL будет снова отключен после выхода из утилиты Quartz Debug. Обходной путь — принудительно закрыть приложение Quartz Debug, в результате чего QuartzGL останется включенным для всей системы.

Все видеокарты, поддерживающие Core Image, также поддерживают QuartzGL.

Смотрите также

Рекомендации

  1. Рассел, Мэтью (11 октября 2005 г.). «Что такое кварц (или почему Windows не может этого сделать)». Центр разработки Mac О'Рейли . О'Рейли Медиа. Архивировано из оригинала 27 мая 2013 г. Проверено 17 ноября 2011 г.
  2. ^ аб Сиракузы, Джон (28 апреля 2005 г.). «Mac OS X 10.4 Тигр». АрсТехника . Проверено 15 января 2010 г.
  3. ^ «Apple — Разработчик — Обзор технологий Mac OS X: графика, изображения и мультимедиа» . Проверено 18 апреля 2007 г.
  4. ^ «Apple — Mac OS X 10.4: Требования к графике Quartz Extreme и Core Image» . Архивировано из оригинала 19 марта 2012 г. Проверено 12 февраля 2007 г.

Внешние ссылки