КГ: вопрос — ответ

Практически сразу после октябрьского съезда Audio Engineering Society (Общества Аудиоинженерии) посыпались вопросы с просьбой прокомментировать введение нового стандарта плагинов для Avid Pro Tools 10 — AAX. Честно сказать, информации немного, кроме официального пресс-релиза по самому ProTools 10, где сказано, что новый формат AAX (Avid Audio eXtension) предназначен для обеспечения лучшей рабочей совместимости между обычными (чисто программными) и «DSP-ускоренными» версиями Pro Tools (базирующимся на железе Pro Tools|HDX и других аппаратных интерфейсах серии Pro Tools HD). Соответственно, стандарт AAX подразумевает два варианта плагинов: AAX DSP и AAX Native. На том же съезде AES сразу три компании (Softube, Fab Filter и Blue Cat Audio) заявили о том, что уже поддерживают новый формат в своей продукции. Думается, что за ними потянутся и другие ведущие бренды. Введение нового стандарта, может, и наведет порядок в стане Pro Tools, потому как, вполне вероятно, что есть практическая необходимость во внесении различий между плагинами, работающими за счет CPU компьютера (1) и использующими аппаратные ресурсы звуковых устройств (2). Но введение нового стандарта в данном случае можно рассматривать и как хороший повод получить деньги за новые технологии, и те же пользователи Pro Tools так или иначе будут платить за апгрейды и так далее. С другой стороны, это может внести сумятицу на рынке в целом. Дело в том, что сейчас и так есть дисбаланс, поскольку, например, те же VST — это целый пласт программного обеспечения, а RTAS — только одна программа Pro Tools. Но так распределился рынок. Все дальнейшее зависит от продвижения 10-й версии программы. При этом не очень хочется, чтобы нечто подобное начала вытворять Steinberg со своими плагинами, «изобретя» новый формат на замену VST.
Теперь переходим к другим вопросам…

Есть вопрос на тему программирования: в языке Lua очень часто встречается преобразование через tonumber. Но зачем это нужно, если там динамическое преобразование типов?

На самом деле, вопрос был задан конкретно по языку Lua, но я бы хотел в своем ответе объединить сразу несколько языков. Ситуация, в целом, следующая: динамическое приведение/преобразование типов является одним из самых слабых мест в плане производительности кода.

Мало того, в некоторых высокоуровневых, а также упрощенных современных языках все числовые типы обычно объединены в нечто типа Number, а символьные - в String. Уже на этом уровне могут быть потери, выраженные в излишних издержках на выделяемую память, хотя в данном случае программисты абстрагируются от таких частых ошибок, как «выход за диапазон» (но при этом всегда лучше не полениться и залезть в документацию, чтобы узнать, что под этим Number на самом деле подразумевается).

Если переменные объявляются по типу явно, а также в выражениях используются операции конвертации через tonumber и tostring, то тем самым вы помогаете компилятору лучше «понять» написанный вами код. Соответственно, увеличивается и скорость его выполнения. И такой код является более понятным.

Во-вторых, сама функция tonumber в числе своих аргументов имеет число, указывающее на основание системы счисления для интерпретации, что полезно, например, при работе с данными в шестнадцатеричном или восьмеричном представлениях.

Есть ли какие-нибудь программы/мультитреки под Windows, в которых можно использовать плагины стандарта AudioUnit? Можно ли как-нибудь переиначить Cubase или Ableton? Раньше работал в Logic на Macintosh, теперь заставили пересесть на РС…

Audio Units — это Мас’овский формат, он не является кроссплатформенным по сравнению с теми же VST и RTAS. Если говорить о «внутренних подробностях», то стоит отметить, что AudioUnits является частью операционной системы OS X, и AU-плагины встраиваются особенным образом с использованием двух отдельных движков — для аудио и для вывода графического интерфейса. Поэтому, работая в Windows, вы не можете использовать этот формат подключаемых модулей. С другой стороны, практически все AU имеют VST-варианты.

Недавно читал о новом методе оптимизации сайта, при котором все изображения страницы объединяются в одно. Насколько это эффективно и как часто используется?

Сам метод далеко не нов, использовался очень давно при создании анимации за счет спрайтов, и в частности - анимированных кнопок, которые состоят из нескольких изображений, объединенных в одно, и при определенных событиях (наведение курсора мыши, нажатие) просто меняются координаты. Сейчас действительно можно найти более развернутые предложения по объединению графического контента в специальные файлы изображений. Такой метод нередко используется в обычном программировании, а чаще всего в геймдеве. Выигрыш именно для веба получается в силу уменьшения количества запросов к серверу, а также в ряде случаев уменьшения размера (веса) страницы. С точки зрения обычной верстки вас ожидает довольно много сложностей, если вы не используете более удобный вариант CSS Sprites.

Что касается объединения всего графического контента именно в одно изображение — это не очень удобно, потому как лучше объединять все по группам, например, неповторяющиеся изображения, повторяющиеся по горизонтали (repeat-x), повторяющиеся по вертикали (repeat-y).

А в целом, если ваша страница не перегружена графикой, учитывая современные скорости Интернета, можно и вовсе задуматься, а нужна ли вам такая оптимизация. Это во-первых, а во-вторых, нередко бывает так, что долго борешься за 4-5%, а где-то есть брешь, устранение/оптимизация которой даст эффективность в 40%.

Кристофер, может, вы сможете подсказать… Хочу сделать эффектное видео с полетом над природным ландшафтом с реками и горами. В каком 3D-пакете это лучше всего сделать, подойдет ли Cinema4D? Требуется, чтобы все было похоже на реальный ландшафт как в кино. Не могли бы вы написать несколько уроков?

В принципе, C4D подойти может, но на вашем месте я бы не обращал внимания на 3D-пакеты, а скорее бы посмотрел в сторону игровых движков AAA- класса уровня Unreal SDK или Cry Engine (оба можно опробовать бесплатно) либо на что-то подобное, где есть генератор ландшафтов с возможностью анимации воды, можно предусмотреть полет камеры, и имеется хороший арсенал алгоритмов по расчету света. Причем в игровых движках все будет считаться намного быстрее. Насчет написания уроков — тема очень глобальная, двумя не обойтись, а времени сейчас не так много.

Кристофер http://itcs.3dn.ru


Компьютерная газета. Статья была опубликована в номере 41 за 2011 год в рубрике мультимедиа

©1997-2024 Компьютерная газета