КомпьюАрт

8 - 2003

Графическое сердце Macintosh

Александр Шмаков

Компьютеры Macintosh всегда воплощали новаторские решения инженеров Apple в области пользовательского интерфейса и работы с графикой. Но объединение OpenGL, QuickTime и PDF-ориентированной технологии Quartz в 10-й версии Mac OS позволило поднять качество и скорость обработки изображений на  новую ступень.

Похожие идеи нашли свое воплощение еще в системе NextStep. За вывод изображений отвечала технология Display PostScript, обеспечивавшая высокое качество вывода данных и на экран, и на принтер. Система реализовывала принцип «что на экране, то и на бумаге» (What you see is what you get, WYSIWYG). Вся графика, включая элементы пользовательского интерфейса, генерировалась на основе одних и тех же данных, благодаря чему между экранным и отпечатанным изображениями обеспечивалось близкое к идеальному соответствие. Для разгрузки процессора в компьютер Next был встроен аппаратный ускоритель, обрабатывающий команды языка PostScript. С целью быстрого обсчета растровой графики было применено оригинальное техническое решение: аппаратный ускоритель был дополнен модулем сжатия и декомпрессии данных в формате JPEG. В 1997 году компания Next Computer была поглощена Apple Computer, и многие идеи NextStep легли в основу новой операционной системы компьютеров Macintosh.

В операционной системе Mac OS X нашли развитие многие оригинальные технологии NextStep, в частности усовершенствованная графическая подсистема, которая представляет собой специальную программную прослойку, связывающую ядро со средой окружения прикладных программ. Таким образом, обработка графики и мультимедиа реализована на уровне ОС.

Графическая подсистема основана на реализации трех технологий: QuickTime — для отображения мультимедийного контента и видео, OpenGL — для вывода трехмерной графики, в том числе игр, и Quartz, состоящая из двух частей.

Первая часть — Quartz 2D — отвечает за обработку векторной двумерной графики и отрисовку пользовательского интерфейса, используя для этих целей объектную модель стандарта PDF. Текущая версия данного стандарта — 1.5, но Mac OS X 10.3 Panther реализует возможности PDF 1.4 (благодаря чему, в частности, реализована функция Expose). В состав Quatz 2D, кроме PDF-интерпретатора, входит визуализатор, обладающий следующими основными особенностями:

• интеграция с системой цветокалибровки ColorSync, обеспечивающая точную передачу цвета в нескольких стандартных цветовых пространствах: grayscale, RGB, CMYK;

• возможность автоматического создания PDF-файла из любой программы или из текущего состояния экрана;

• наличие встроенного растеризатора, что позволяет получать качественные отпечатки документов не только на PostScript-совместимых устройствах, но и на офисных или домашних принтерах, которые не имеют поддержки PostScript.

Вторая составляющая технологии Quartz — Quart Compositor — отвечает за формирование экранного изображения и вывод его на дисплей. В первых реализациях Mac OS X технология Quartz работала только на программном уровне, все графические расчеты выполнялись центральным процессором, вследствие чего производительность системы заметно снижалась. При выполнении особенно сложных операций, таких как перемещение или изменение размеров окна, замедление работы было заметно даже на мощных моделях PowerMac G4. Но в последних версиях Mac OS X инженеры Apple реализовали возможности аппаратного ускорения посредством использования ресурсов отдельных моделей современных графических карт. К названию технологии было добавлено Extreme. (Для оптимальной работы Quartz Extreme рекомендуются видеокарты NVIDIA GeForce 2 MX, GeForce 3, GeForce 4 MX, GeForce 4 Titanium или ATI Radeon (AGP-based). Объем видеопамяти — не менее 16 Мбайт.)

Схема работы Quartz Extreme такова. Из прикладных программ, использующих Quartz 2D, QuickDraw, QuickTime и OpenGL, графическая информация через программный буфер поступает в модуль Quartz Compositor, который в виде пакета низкоуровневых команд передает ее для обработки графическим процессором видеокарты. На этом этапе экранное изображение по сути представляет собой трехмерную сцену, где каждое окно — полигон, а изображения, выводимые в окнах, — текстуры, которые графический процессор накладывает на полигоны. Другими словами, широко используются возможности новых видеочипов по поддержке OpenGL-графики. Такое решение позволило не только разгрузить центральный процессор, но и реализовать ряд таких эффектов, как наложение окон друг на друга с образованием прозрачных областей, тени от окон и прочих элементов интерфейса, эффект сглаживания любой графической информации, изменение размеров, вращение и трансформация одного, нескольких или всех окон.

По окончании обсчета (рендеринга) результат помещается в видеопамять, откуда при обновлении экранного изображения выводится на дисплей.

Конечно, эффекты — это далеко не все, однако стильный и удобный интерфейс в наше время немаловажен. Это подтверждено тем фактом, что в скором времени появился и подражатель для Windows — настройка WindowFX, лишь внешне имитирующая эффекты (далеко не все). О поддержке PDF на уровне системы, естественно, речи не идет, да и вряд ли кто-нибудь захотел бы на Mac имитировать интерфейс Windows.

КомпьюАрт 8'2003

Популярные статьи

Удаление эффекта красных глаз в Adobe Photoshop

При недостаточном освещении в момент съемки очень часто приходится использовать вспышку. Если объектами съемки являются люди или животные, то в темноте их зрачки расширяются и отражают вспышку фотоаппарата. Появившееся отражение называется эффектом красных глаз

Мировая реклама: правила хорошего тона. Вокруг цвета

В первой статье цикла «Мировая реклама: правила хорошего тона» речь шла об основных принципах композиционного построения рекламного сообщения. На сей раз хотелось бы затронуть не менее важный вопрос: использование цвета в рекламном производстве

CorelDRAW: размещение текста вдоль кривой

В этой статье приведены примеры размещения фигурного текста вдоль разомкнутой и замкнутой траектории. Рассмотрены возможные настройки его положения относительно кривой, а также рассказано, как отделить текст от траектории

Нормативные требования к этикеткам

Этикетка — это преимущественно печатная продукция, содержащая текстовую или графическую информацию и выполненная в виде наклейки или бирки на любой продукт производства