stringtranslate.com

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

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

Обзор

Вывод растрового изображения из Quartz 2D , OpenGL , Core Image , QuickTime или другого процесса записывается в определенное место памяти или резервное хранилище . Затем Compositor считывает данные из резервных хранилищ и собирает их в одно изображение для отображения, записывая это изображение в память кадрового буфера графической карты. 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 для композиции сцены требуется гораздо меньше циклов центрального процессора (CPU). Вместо этого Quartz Compositor инкапсулирует каждое отрисованное резервное хранилище в текстурную карту или поверхность OpenGL. Затем он направляет GPU на компоновку поверхностей и карт для предоставления окончательного изображения, которое доставляется в буфер кадра.

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

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

QuartzGL

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

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

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

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

Ссылки

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

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