Quartz Compositor

Quartz Compositor — оконная система, используемая в Mac OS X. Она отвечает за представление и поддержание растеризованной и отрисованной графики.

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

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

В роли оконного менеджера 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), поддерживает текстуры и карты любого размера, так как множество прорисовщиков не имеет ограничений на размер (например, Quartz 2D).[1] Эта технология включена по умолчанию на компьютерах Mac со следующими типами графических карт:[4]

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

Quartz Extreme - не то же самое, что и Quartz 2D Extreme, в которой ускорения графическим процессором являются опциональными. Более того, любой тип ГП, способный прорисовывать Core Image команды, также совместим с Quartz Extreme.

Справки и ссылки

[править | править код]
  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 года.