Перейти к содержанию

Quartz Compositor

Материал из Википедии — свободной энциклопедии

Quartz Compositor — оконная система, используемая в Mac OS X, отвечает за представление и поддержание растеризованной и отрисованной графики; вторая составляющая графического уровня Quartz (наряду с Quartz 2D).

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

При управлении отдельными окнами Quartz Compositor принимает растр, несущий в себе содержимое окна, от его прорисовщика, а также его позицию. Прорисовщик может отличаться от приложения к приложению, однако большинство использует Quartz 2D. Quartz Compositor, таким образом, выступает как «визуальный миксер», добавляя данное окно к текущей сцене экрана. Эта модель делает оконную систему Mac OS X уникальной, так как индивидуальные процессы не могут требовать полного владения всей сценой на дисплее[2]. В роли оконного менеджера Quartz Compositor имеет также очередь событий, в которую поступают события, такие как нажатие клавиш или клики мышью — он извлекает события из очереди, определяя, какой процесс владеет окном, где произошло событие, и передаёт событие процессу[3].

В Mac OS X v10.2 была представлена технология Quartz Extreme, поддерживающая ускорение обработки графическим процессором, чтобы исключить нагрузку на центральный процессор для задач композиции. Технология подразумевает инкапсуляцию каждой прорисованной графическую страницы в поверхность или текстурную карту OpenGL. Затем графический процессор составляет карты и поверхности, предоставляя готовое изображение, которое доставляется прямо в кадровый буфер видеокарты.

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

  • ATI Radeon, AGP, минимум 16MB VRAM, или новее,
  • NVIDIA GeForce2 MX, минимум 16MB VRAM, или новее,
  • определённые Intel-системы со встроенными видеокартами Intel GMA950.

Примечания

[править | править код]
  1. 1 2 ArsTechnica - Mac OS X 10.4 Tiger - Quartz. Дата обращения: 12 февраля 2007. Архивировано из оригинала 4 апреля 2012 года.
  2. ↑ Apple - Developer - Graphics & Imaging Overview. Дата обращения: 12 февраля 2007. Архивировано из оригинала 23 февраля 2012 года.
  3. ↑ Apple - Developer - Mac OS X Technology Overview: Graphics, Imaging, and Multimedia (недоступная ссылка — история). Дата обращения: 18 апреля 2007.
  4. ↑ Apple - Mac OS X 10.4: Requirements for Quartz Extreme and Core Image graphics. Дата обращения: 12 февраля 2007. Архивировано из оригинала 4 апреля 2012 года.