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]
Quartz Extreme
В 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.
Справки и ссылки
- ArsTechnica - Mac OS X 10.4 Tiger - Quartz (недоступная ссылка). Дата обращения: 12 февраля 2007. Архивировано 4 апреля 2012 года.
- Apple - Developer - Graphics & Imaging Overview (недоступная ссылка). Дата обращения: 12 февраля 2007. Архивировано 23 февраля 2012 года.
- Apple - Developer - Mac OS X Technology Overview: Graphics, Imaging, and Multimedia (недоступная ссылка — история ). Дата обращения: 18 апреля 2007. (недоступная ссылка)
- Apple - Mac OS X 10.4: Requirements for Quartz Extreme and Core Image graphics (недоступная ссылка). Дата обращения: 12 февраля 2007. Архивировано 4 апреля 2012 года.
Ссылки
- Quartz Extreme (apple.com)
- The Graphics and Windowing Environment — from Apple’s Mac OS X Documentation
- Quartz Services Reference