Кварцевый композитор
macOS графическая модель |
---|
Рендеринг |
Композитинг |
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]
- AMD (ATI) Radeon , на базе AGP, минимум 16 МБ видеопамяти или лучше
- NVIDIA GeForce2 MX , минимум 16 МБ видеопамяти или лучше
Начиная с 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.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Рассел, Мэтью (11 октября 2005 г.). «Что такое кварц (или почему Windows этого не умеет)» . Центр разработки Mac О'Рейли . О'Рейли Медиа. Архивировано из оригинала 27 мая 2013 г. Проверено 17 ноября 2011 г.
- ^ Jump up to: а б Сиракузы, Джон (28 апреля 2005 г.). «Mac OS X 10.4 Тигр» . АрсТехника . Проверено 15 января 2010 г.
- ^ «Apple – Разработчик – Обзор технологий Mac OS X: графика, изображения и мультимедиа» . Проверено 18 апреля 2007 г.
- ^ «Apple — Mac OS X 10.4: Требования к графике Quartz Extreme и Core Image» . Архивировано из оригинала 19 марта 2012 г. Проверено 12 февраля 2007 г.
Внешние ссылки
[ редактировать ]- Графика и оконная среда (в архиве) – Документация для разработчиков Apple
- Службы кварцевого дисплея – Документация Apple для разработчиков