Видео маппинг, видео перформансы

Новости VJ программ

Quartz Composer 4.0

Mac OS X 10.6: Quartz Composer 4.0 практический обзор, новые возможности

Многие из улучшений Snow Leopard представляют собой расширения для 64-битных систем и многопоточности, и непосредственно не затрагивают создание видео. Но значимые изменения Quartz Composer  очень полезны, и могли бы стать самыми непосредственными поводами для обращения внимания на последнюю версию операционной системы от Apple...

Обсудить на форуме


 

Постоянный пользователь Mac Антон Марини (Anton Marini) рассматривает эти изменения для  CDM.
Примечание редактора: Quartz Composer, интерактивное визуальное средство, включенное в набор бесплатных средств разработки Mac, привлекло внимание виджеев, начиная ещё с его появления в Mac OS X 10.4. (Некоторый из виджеев даже использовали Pixelshox - его предшественника, существовавшего ещё до появления Apple.)

  Но это была медленная версия этого инструмента, использовавшая  "центральное"  визуальное внесения исправлений для создания интерактивных 2D и 3D образов, функции которой впоследствии и были развиты.

          Добавьте к этому, способность запускать обновления для Quartz Composer, добавленную в популярном VDMX, и Quartz Composer  становится наиболее популярным инструментом под Mac.
Есть в Snow Leopard 10.6 и другие элементы, которые используются виджеями, включая Quicktime X, Open CL, Grand Central Dispatch и общую

 оптимизацию работы. Но одной особенностью, которой ожидали многие виджеи, является обновлённый Quartz Composer 4.0 (включая инструменты XCode). Если Вы не знакомы с Quartz Composer, но создаёте своё видео под Mac, посмотрите статьи:
•     Apple Developer Documentation (http://developer.apple.com/mac/library/documentation/GraphicsImaging/Conceptual/QuartzComposerUserGuide/qc_intro/qc_intro.html)
•     Quartz Composer tag on CDMo

 (http://createdigitalmotion.com/tag/quartz-composer/)

Эстетика и пользовательский интерфейс

Первая вещь, которую Вы заметите это то, что Quartz Composer 4.0 (QC4) выглядит новее и гламурнее. Как выразились в Apple: “Пользовательский интерфейс  Quartz Composer  был перепроектирован, чтобы заставить Вас улыбнуться.” Довольно много исправлений в QC4 направлены на то, чтобы Ваши композиции занимали на экране меньше места. "Привязка к сетке" помогает выровнять выводы, таким образом, чтобы Ваши соединения выглядели более опрятно, что в свою очередь обеспечивает более быстрое понимание и более легкую отладку.
Вы оцените это, если сделаете соединительные линии большими, подобными спагетти; "привязка к сетке" действительно помогает.

Появилась обновленная панель  Library. Таким образом, Вы можете добраться до соответствующих пунктов меню быстрее, легче переходить к определенным группам элементов, импортировать и экспортировать макросы, и вообще работать более спокойно.
Apple также модернизировала использование “Virtual Macros”.

     Думайте о них как о композициях, которые Вы повторно используете в других композициях, как о многократно используемых 'абстракциях', или возможно, как о классах в объектно-ориентированном программировании. Многие из новых объектов, которые Вы увидите в Library, фактически являются просто композициями, таким образом,

Вы можете их открыть, редактировать, и учиться на них, как на примерах. Это делает многие из нововведений функционально прозрачными, что важно как для пользователей, которые хотят учиться на примерах так и  для опытных пользователей, которые хотят добиться большего и изменить  существующие композиции под свои  потребности.
  
     Моя единственная жалоба связана с тем, что новая цветовая палитра немного затрудняет различение  разных типов элементов по сравнению с более старым QC 3.0 . Потребитель, поставщик и обработчик в QC 3.0 распознавались легче.

Новое большое изменение: OpenCL и меши

Если и есть одна поразительная особенность в Quartz Composer 4.0 то это то, что  он теперь содержит импортер 3D моделей. Импортер загружает файлы Collada (.dae) и обрабатывает их с помощью выходного порта нового  типа “mesh”. Для тех из Вас, кто плохо знаком с QC, приведу сравнение:

      Вы можете управлять геометрией 3D модели, наподобие внесения корректировок в звуковой сигнал на синтезаторе. Это сделано в дополнение к сегодняшним стандартам графических, структурных, цветовых, строковых и числовых типов данных Quartz Composer и соответствующим им типам портов. (Виджеи  все еще ждут от Apple реального аудио порта).
Что это означает?  Теперь у Вас есть стандартизованное импортирование 3D модели с поддержкой текстур.  Формат Collada быстро завоевывает  популярность в качестве стандартного формата обмена данными 3D моделей, так что Вы сможете экспортировать 3D модели, созданные в различных приложениях в формат Collada для последующего использования в QC4.

      Как это обычно и бывает, в дополнение к существующему импортеру OBJ, ведётся работа над импортером Collada.
Перетащите файл .dae на рабочую область открытой композиции для создания нового объекта  Mesh Importer, как показано в этом видео:

http://vimeo.com/6310533

Интерактивность в Quartz Composer 4.0, объект "Инерция" от vade из Vimeo.
Итак, возможно, пример моего видео не был особенно креативным, но он демонстрирует интерактивное взаимодействие с произвольными объектами. Просто присоедините объект "Interaction " к любому объекту-потребителю, и Вы можете взаимодействовать с ним в отображаемой сцене, щелкая на нём и  перемещая его.
В QC4 добавлена поддержка жестикуляции, как входного воздействия для объектов  "Mouse" и "Interaction", позволяющая распознать такие жесты как удар, вращение, и увеличение, совершаемые с использованием двух пальцев на трекпаде, который это поддерживает. Примечание редактора: недавно MacBook и MacBook Pro обзавелись этой функциональностью.
Объединив реакцию на жесты с элементами  Feedback, Inertia и Force, Вы добьётесь  действительно динамического физического взаимодействия в своих композициях.
Добавлены новые элементы, подобные упомянутым выше, фильтрам мешей: Spring, Clamping Springs и Directional Spring.


     Кроме этого QC4 заявляет о выполнении оптимизации. Чтобы проверить это, я запустил несколько видео бенчмарков от Apple из стандартного набора для разработки на одной и той же конфигурации под 10.5/Quartz Composer 3  и  под 10.6/Quartz Composer 4. В результате Quartz Composer 4.0 действительно  в среднем демонстрирует более высокую частоту кадров для большинства сценариев.

Я выбрал несколько разных композиций для тестирования  и запустил их в полноэкранном режиме (1440?900). На QC 4.0 / 10.6 я запускал файл из состава  QC 3.0 / 10.5, чтобы быть уверенным в идентичности композиций.

Я тестировал воспроизведение видео с небольшим количеством несложных эффектов; входное видео имело следующие характеристики: сжатие Photo JPEG, частота кадров 24 fps, разрешение 854?480. Использовался импортер видео (Movie Importer) с настройкой  ‘Asynchronous’. В этих тестах я не обрезаю выходное видео, таким образом, Quartz Composer и Core Image должным образом производят свёртку входного изображения, и размер изображения на выходе получается намного больше, чем размер входного изображения.

 Мы говорим об изображения 3030 x 1700 пикселов приблизительно, что больше похоже на настоящее испытание для меня. Примечание редактора: я бегло прочитал этот текст и подумал, что перевод видео с низкой частотой кадров (до реализации этого эпического разрешения) в обрезанное до разумных размеров видео с большей частотой кадров, был бы превосходным бенчмарком для тестирования производительности.

Вот результаты тестирования:
Видео с применением эффекта Gaussian Blur; QC 3.0: 18 fps, QC 4.0 18 fps
Видео с применением эффекта Zoom Blur; QC 3.0: 10 fps, QC 4.0: 12 fps
Видео с применением эффекта Motion Blur; QC 3.0: 15 fps, QC 4.0 20 fps
Видео с применением цепочки из 4 эффектов: QC 3.0 60 fps, QC 4.0: 60-65 fps

Результаты тестирования на примерах композиций от Apple:
Club Lisa (визуализатор музыки, обратная связь, частицы, интерактивность, 3D)
QC 3.0: ~30 fps, QC 4.0: 30-35 fps
Depth Computation (сложные вычисления, 3D)
QC 3.0: 20-30 fps, QC 4.0: steady 30 fps
Blazed Trail (обратная связь)
QC 3.0: ~30 fps, QC 4.0: 45-60 fps
Psychotic (кэширование изображений, эффекты применяемые над изображениями, цепочка из нескольких эффектов)
QC 3.0: 30-45 fps, QC 4.0: 35-45 fps
Blurrier: (цепочка из нескольких эффектов)
QC 3.0: 45-60 fps, QC 4.0: 60-65 fps
Noise 3D (итеративность, 3D)
QC 3.0: 30 fps, QC 4.0: 25-30 fps
Smooth Rotation (анимация, итеративность, 3D)
QC 3.0: 20 fps, QC 4.0: 18 fps
Wavlet (сложные вычисления  с использованием Core Image Kernel)
QC 3.0: 6 fps, QC 4.0: 10-12 fps
Julia iteration (фракталы, Core Image Kernel)
QC 3.0: 20 fps, QC 4.0: 20 fps

Теперь, Quartz Composer - это лучший из бенчмарков для моего старенького ATI x1600. В некоторых случаях, кажется, что в QC4 улучшен GL конвейер, особенно, если имеете дело с обратной связью. Возможно, что Apple уделяло больше внимания  более новым машинам с более современными видеокартами, чем в моей системе.
Так что, возможно, что Вы заметите больше усовершенствований на более новых конфигурациях компьютеров. В целом, QC4 лучше QC3.

     Примечание редактора: по аналогии, не важно является ли этот прирост производительности результатом обновления драйверов и конвейера рендеринга, Quartz Composer или всего сразу, это уже повод для обновления до  Snow Leopard.
Ещё одно замечание - некоторые объекты, существовавшие ещё в QC 3.0, но в бедной реализации, были существенно обновлены. Наиболее известный объект, Render In Image,  теперь использует намного более современную систему рендеринга, так как больше не поддерживает макинтоши со старыми графическими картами.

Это - огромный плюс: объединив его с только что появившимся рендерингом мешей, Вы можете сделать обработку  всех трехмерных моделей в сцене. Всего лишь перебросьте меши в объект Render In Image и не беспокойтесь по поводу возможных подтормаживаний, которое обычно наблюдались.

Скрытые настройки

     Удерживая в нажатом состоянии некоторую опцию и выбирая настройку в QC4, Вы получаете доступ к хорошо документированным “скрытым настройкам”, также как в QC3. Пока ещё не поддерживаемое нововведение в QC4 -  опция мультисэмплинга в настройках редактора. Её установка добавляет мультисэмплинговое сглаживание в выходном окне Quartz Composer. Замечу, что не у все системы на базе Intel имеют GPU, поддерживающие мультисэмплинговое сглаживание, и оно применяется только в редакторе Quartz Composer. Разрешение мультисэмплинга не означает, что любой вывод Quartz Composition будет сглажен.

Однако, эта опция полезна, особенно для тех редких храбрецов, которые виджеят прямо в  Quartz Composer.
Пример видео без мультисэмплингового сглаживания:



С мультисэмплтнговым сглаживанием:



Простой чекбокс делает мир разнообразнее: он визуально добавляет качества и удаляет уродливые артефакты от эффекта наложения.

Совместимость, стабильность, и подведение итогов

     Не смотря на то, что Quartz Composer имеет версию 4.0, в большинстве случаях он ведёт себя как 1.0. Вместе с новыми возможностями возможно появление большего числа ошибок, помимо тех, которые я заметил. У QC 4.0 вероятность падения больше, чем у 3, но, в то же время, он не плох для программирования, но в целом не такой стабильный.

    Quartz Composer теперь по умолчанию запускается как 64-битное приложение. Как заявила Apple, он совместим с 10.6, перешедшую на 64-бита, но несёт некоторые потенциальные сложности. Некоторые сторонние плагины, возможно, нельзя будет загрузить в 64-битном Quartz Composer. 64-битное приложение в 10.6 не может загрузить плагин, которая является 32-битным. К счастью, с помощью шаблона плагинов от Apple для XCode плагины собираются и как 32-и 64-битные, но встречаются ситуации, что некоторые функции работают только в 64-битных плагинах.

Чтобы обойти это, Вы должны выбрать, 'Get Info’ в Quartz Composer и указать “Open in 32-bit mode”, тогда  32-битный плагин будет загружен как обычно. Это работало со всеми моими плагинами.
Это проблема в особенности касается плагинов, которые используют низкоуровневые операции QuickTime, поскольку ограничения в QuickTime в 10.6 не позволяют портировать весь его код под 64-битную платформу. К сожалению это коснулось и моего  плагина для проигрывания видео, поэтому он функционально ограничен 32-битной платформой. Если Вы установили плагин, а он не запускается, то попытайтесь открыть QC4 в 32-битном режиме и посмотреть загружается ли он; скорее всего, Вы будете приятно удивлены.

Однако, хорошей новостью является то, что большинство плагинов из стандартной поставки

работает  с QC 4.0, и лишь несколько существующих плагинов используют функции API, которые полностью не поддерживают 64-битный режим. Kineme, один из основных источников удивительных плагинов для Quartz Composer, уже заявил о совместимости с 10.6. В основном, многие вещей работают и лишь некоторые - нет; остаётся настроится на получение обновлений в ближайшие дни. Тоже самое я могу сказать и про свои плагины.

Многие из них работают, некоторые - нет, ожидаются обновления; так что настраивайтесь!
В целом, Quartz Composer 4.0 является хорошим обновлением. Есть тонны новых возможностей, о которых я здесь не упомянул, и как только  ошибки будут исправлены, он станет обязательным обновлением.
Чтобы посмотреть полный список дополнений и изменений, см. Apple’s Release Notes for Quartz Composer 4.0. [PDF].


И если Вы установили Mac OS X 10.6 и Quartz Composer 4.0, то можете изучать множество новых композиций, расположенных в/System/Library/Graphics/Quartz Composer, а так же концептуальные примеры из /Developer/Library/Quartz Composer/Examples.
Веселого времяпрепровождения и счастливого обновления!


EventCatalog.ru — всё для организации мероприятий!