Эффективность многоядерного процессора в популярных видеоредакторах


Цели тестирования

Чуточку рассуждений. Во что, как правило и чаще всего, упирается скорость работы с видео? Правильно, в аппаратные мощности. Тема "компьютер для видеомонтажа" неисчерпаема, и будет злободневна до тех пор, пока существует компьютер и видеомонтаж. Эти аппаратные мощности, в свою очередь, складываются из нескольких факторов: скорости дисковой подсистемы, памяти, и, конечно же, скорости центрального процессора (новую технологию переноса вычислений с центрального на графический процессор — CUDA — мы в данной статье рассматривать не станем). Стандартное и привычное увеличение частоты отдельно взятого ядра практически исчерпало себя, упершись в непреодолимую стену энергопотребления и тепловыделения. Иной выход — увеличение числа ядер процессора. Отсюда вопрос: будет ли выигрыш, если работать не на двух, а на четырехъядерном процессоре? И если будет, то какой?

Вторым клапаном, перекрывающим кислород видеомонтажёру, является программа, в которой он работает. При одинаковом аппаратном обеспечении каждая программа эффективна по-своему. Какие-то из них быстры, другие — медленны. Далеко не всегда разработчику удаётся распределить нагрузку так, чтобы занять процессор наиболее эффективно. А вот и задачка посложнее — разделить эту нагрузку на потоки, каждый из которых обрабатывается в многоядерных системах отдельным ядром.

Вот оно! Грамотное распределение процесса по потокам — основное требование к программе при использовании многоядерных процессоров. Ведь при желании можно написать такую программу, которая будет загружать все доступные ядра процессора на 100%, но отдача при этом будет низкой. Другая крайность — недостаточно полное использование процессорных мощностей, результатом чего является медленная работа с низкой степенью загрузки ядер.

Давно пора разобраться в ситуации, сложившейся на рынке видеомонтажных программ, и привести к общему знаменателю возможности существующих сегодня решений. Какие видеоредакторы используют ядра процессора на всю катушку? Произойдёт ли ускорение работы при переходе на многоядерный процессор?

Программы, адаптацию которых под многоядерные процессоры мы будем исследовать, взяты не с потолка. Не так давно в Конференции iXBT.com проводился опрос на тему Каким видеоредактором Вы предпочитаете пользоваться? Исходя из результатов этого опроса, и был составлен список жертв кандидатов на тестирование.

О возможных претензиях

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

Нельзя забывать и об особенности кодирования в форматы с междукадровым сжатием. Ведь от чего в таких случаях зависит скорость кодирования? От многих факторов (по убывающей):

  1. аппаратного обеспечения, всех компонентов ПК и версий драйверов к ним;
  2. программы, ведущей просчёт (кодирование): высокая скорость работы говорит об удовлетворительной оптимизации программного кода;
  3. фильтров, применённых к просчитываемому видео, а также их настроек;
  4. видеоматериала, подлежащего просчёту;
  5. иных условий.

Первый и второй пункты при большом усилии ещё можно как-то продублировать, собрав ПК, состоящий в точности из тех же компонентов и установив требуемое ПО тех же версий. Но третий и четвертый пункты здесь — те самые исключения, по вине которых любые тесты оказываются недостоверными. По той простой причине, что данные факторы определяются каждым пользователем индивидуально для своей задачи. Повторить их, конечно можно (и даже нужно для наших целей тестирования), однако в этом случае результат будет, скорее всего, "синтетическим". Видео всегда и у всех разное, это несомненно, а ведь статичная нешумная картинка может потребовать времени на обработку во много раз меньше, чем динамичные яркие контрастные кадры. А что с фильтрами? В каждой программе — свои механизмы, своя архитектура, и свои же уникальные способы обработки. Даже названия фильтров могут не совпадать, что уж говорить об их настройках!

Именно поэтому любой тест скорости кодирования всегда будет строго субъективным, справедливым только в отношении конкретного видеоролика, просчитанном в конкретной версии конкретной программы и на конкретном аппаратном обеспечении.

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

Но баста, закругляемся с лирикой: вооружаемся образом жесткого диска со свежеустановленной Windows Vista SP1, необходимыми дистрибутивами, секундомером и штабелем терпения.

Просчёт

Итак, ПК, на котором будет вестись работа, представляет собой следующий конструктор:

  • центральный процессор: AMD Phenom II X4 810, 2600 MHz (13 x 200);
  • системная плата: Asus M3A32-MVP Deluxe;
  • оперативная память: A-Data 2048 МБ DDR2-800 DDR2 SDRAM;
  • видеосистема: XFX GeForce GTX 285 +2 монитора
  • жесткие диски:
    • операционная система и установленные программы: 120 ГБ 7200 об/мин
    • исходное видео: 465 ГБ 7200 об/мин
    • результат просчёта: 320 ГБ 7200 об/мин
  • Операционная система Windows Vista SP1

Сразу же оговоримся: никаких дополнений или обновлений поверх операционной системы или тестировавшихся программ не установлено за исключением утилиты RivaTuner, как наиболее удобной программы для мониторинга системных процессов. Система не обрабатывалась никакими "твикерами" или "улучшателями". Антивирусные программы отсутствуют. На время тестирования сеть отключена физически. Каждая тестируемая программа устанавливалась только на "чистую" ОС. Ядра процессора отключались последовательно путём изменения дополнительных параметров загрузки системы (Win+R -> msconfig -> Загрузка -> Дополнительные параметры загрузки -> Число процессоров).

Что касается обрабатываемого программами материала — всегда использовался один и тот же файл минутной длительности, полученный из нескольких файлов с видеокамеры Panasonic HDC-HS9 путём простейшего монтажа и "склеивания" в программе Elecard AVC HD Editor:

  • Видео: Advanced Video Codec, 1920x1080, верхнее поле первое, 25 кадр/сек
  • Звук: AC-3 6 каналов 384 Кбит/сек.

Указанное видео помещалось на таймлинию (или её аналог) тестируемой программы, после чего к клипу применялся фильтр "Баланс белого" (или его аналог). Вывод получившегося проекта производился поочерёдно в два формата: AVC 1920x1080 25 кадр/сек и стандартный MPEG-2 720x576 16:9 25 кадр/сек. При этом исключалась возможность "нечестной" работы — в каждой программе заранее отключался механизм фонового просчёта (речь, разумеется, о тех программах, где такой механизм присутствует).

Adobe Premiere CS4 (Media Encoder)

Видеоредактору разработки корпорации Adobe посвящено немалое количество обзоров и статей. Этот продукт для работы с мультимедиа давно и заслуженно считается одним из лидеров в сфере видеомонтажа. Причинами такой популярности являются устоявшаяся распространённость Adobe Premiere, продуманность его интерфейса, своевременность выпуска новых версий и прочие факторы. Интересно, а скорость работы данного пакета как-нибудь влияет на его признанность?

Как известно, начиная с версии CS 4, просчётом результата в файл занимается не Adobe Premiere Pro, а отдельная программа — Adobe Media Encoder. Однако в своей работе она активно задействует движок Premiere Pro (подобный симбиоз — результат развития фирменной технологии Adobe Dynamic Link).

Ниже мы видим проект, созданный в Premiere Pro CS4, подлежащий просчёту в AVCHD и MPEG-2.

Здесь и далее просчёт проводился в файл со следующими характеристиками: интерлейсный AVC, верхнее поле первое, размер кадра 1920x1080, частота кадров 25 кадр/сек, минимальный битрейт 12000, максимальный — 25000 Кбит/сек (в каждой программе разные настройки вывода, поэтому и получился столь большой "разбег").

Итак, оценим скорость работы связки Adobe Media Encoder и Adobe Premiere Pro при просчёте в AVCHD:

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 

Приятно поглядеть — загрузка всех ядер почти максимальна, равномерна, падения и пики нагрузки происходят синхронно, что говорит о правильном её распределении на все доступные процессоры. Время кодирования изменяется пропорционально количеству доступных ядер процессора. Если провести мысленно по вершинам линию тренда, то видно, как она стремится к горизонтальному положению. Интересно, какими результаты станут при использовании восьмиядерного процессора?

При кодировании в MPEG-2 видим первый сюрприз: неполная загруженность ядер. И чем больше ядер участвует в работе, тем меньше они нагружаются.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 

При этом нагрузка распараллеливается по ядрам уже не так равномерно, как при кодировании в AVC. Что касается изменения скорости работы, то цифры говорят сами за себя: второе ядро двукратно увеличивает обороты. Дальнейшее увеличение количества ядер отражается на скорости всё меньше и меньше.

Edius 5

Коньком этой программы является прыть. Речь идёт не только и не столько о скорости просчёта программой готового материала. "Заточенность" Edius под работу с клавиатурными сочетаниями (хоткеями) давно оценили монтажёры, в задачи которых входит срочное перелопачивание многих часов видеоматериала, а сроки, как всегда, поджимают.

Но с каким бы проворством монтажёр ни нажимал клавиши или давил на мышиную кнопку, это никак не прибавит скорости во время окончательного просчёта, когда от действий пользователя уже ничего не зависит. Разумеется, здесь необходимо достаточно мощное аппаратное обеспечение. Посмотрим, как влияет на быстроту работы Edius-а количество ядер процессора:

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 

Снова, как и в случае Adobe, при переходе с одного на два ядра наблюдается двукратный прирост скорости. Дальнейшее увеличение количества ядер хоть и прибавляет темп, но совсем не в таких масштабах.

Иную картину мы видим при кодировании в MPEG-2. Выигрыш в бойкости просчёта с одного к четырём ядрам явно стремится к нулю — такое ощущение, что, добавь мы пятое ядро, увидим те же 110 секунд...

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 

Да и загрузка ядер оставляет желать большего. Полностью загруженный процессор мы видим только в первом случае — когда в работе участвует только одно ядро. Оптимальной загрузку можно назвать при двухъядерной работе. В остальных случаях процессор вместо работы, похоже, мается бездельем.

Sony Vegas Pro 8.0

Нельзя сказать, что Vegas обижен нашим вниманием. Обзоры программы выпускаются регулярно; кстати, на подходе уже 9-я версия этого редактора, а, следовательно, и очередной обзор.

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

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 

Ну просто образец стабильности, не иначе — хоть константу срисовывай. Нагрузка ровная, не высокая и не низкая, за исключением одноядерного теста, когда процессор был стабильно занят на все 100%. Ускорение в зависимости от количества ядер также вполне ожидаемое — аккуратная кривая получилась.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 

А вот с MPEG-2 кривая получилась какой-то... кривой. Однако радует, что во всех случаях ядра нагружались равномерно и почти до отказа.

Pinnacle Studio Ultimate 12

Этот видеоредактор рассчитан на домашнего пользователя, видеолюбителя. Всегда грамотно локализованный, продукт компании Pinnacle Systems в нашей стране фактически является синонимом словосочетанию "любительский видеомонтаж".

Результаты кодирования в AVC с разным количеством ядер чрезвычайно напоминают результаты рассмотренных выше профессиональных программ. И немудрено: начиная с 10-й версии, Pinnacle Studio работает на том же "движке", что и Liquid. А последний, как известно, относится к разряду узкопрофессиональных видеомонтажных решений, отличающихся стабильностью и скоростью работы.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 

Примерно та же картина — и при выводе в MPEG-2. Двукратный прирост скорости на втором ядре, и стремящаяся к нулю эффективность от увеличения количества ядер.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 

Вот только загрузка ядер расстраивает: при двух и более ядрах не превышает в среднем 70%.

Corel Video Studio 12 Ultimate

Этот видеоредактор является очевидным конкурентом рассмотренному выше Pinnacle Studio, отличаясь по некоторым оценкам большей стабильностью работы и умением обрабатывать современные видеоформаты без перекодирования.

Corel Video Studio относится к классу так называемых программ-"комбайнов", позволяющих провести и захват с любых источников, и монтаж со спецэффектами, и авторинг. Рассчитан он на любительское применение, а следовательно (по идее) работать должен неспешно, поскольку основные силы разработчика в данном случае направлены на оттачивание user-friendly интерфейсов.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 

Так и есть. Полную загрузку процессора можно наблюдать только в одном случае — во время работы единственного ядра. Чем больше ядер, тем ниже КПД процессора, а в четырёхъядерной конфигурации средняя нагрузка не достигает даже 50%. То же и со временем кодирования — кривая получилась пологой, эффективность работы программы практически не зависит от числа ядер.

При кодировании в MPEG-2 картина ещё более безмятежна. Время, затраченное на работу с одним и двумя ядрами, практически одинаково. Дальнейшее увеличение числа ядер почти не меняют положение, да и нагрузка ядер смехотворна.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 

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

Nero Vision 6

Этот видеоредактор — часть программного пакета Nero 9. Для соблюдения чистоты эксперимента во время установки программы из всего пакета был выбран только один модуль, этот самый Vision.

Остальные компоненты пакета Nero не устанавливались (кто знает, каким образом они могут повлиять на работу Vision?).

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 

Отдадим должное разработчикам компании Ahead Software — скорость кодирования достойна уважения! Правда, с загрузкой ядер небольшие проблемы — маловата она, что говорить... Теоретически, загрузив ядра на все 100, можно было бы добиться ещё большего ускорения (хотя куда уж больше). Что касается реакции программы на добавление количества ядер — тут воображаемая линия тренда хороша, так и тянется вниз. Похоже, на восьми ядрах Nero Vision просто взлетит!

Кодирование в MPEG-2 выявило совсем уж спринтерские способности программы.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 

В общем-то, немудрено. Вспомним историю происхождения пакета Nero: в те далёкие времена, когда Nero представлял собой банальную "дископрожигалку", разработчики начали понемногу увешивать её дополнительными модулями, и начали они именно с модулей конвертации видео в различные форматы. Поднаторев в этом деле, за восемь прошедших лет довели до ума свой MPEG-2 кодировщик. Да так довели, что на зависть прочим кодерам! Загрузка ядер практически полная, отсюда и высокая скорость, абсолютно недосягаемая. Угнаться за Nero Vision сможет разве что известный гонщик Cinema Craft Encoder. Правда, MPEG-2 видео, получающееся после кодирования в Nero, известно своей "мыльной" картинкой, но качество видео — это уже совсем другая тема, не сегодняшняя.

Cyberlink PowerDirector 7

Во время нашего первого серьёзного знакомства с этой программой автором была отмечена скрупулёзность отношения разработчиков Cyberlink к своему детищу. Продуманный интерфейс, сподручные органы управления и комфортабельные Magic-инструменты подкупают, что и говорить. Особо ценно умение программы просчитывать только изменённые участки видео, не перекодируя весь материал полностью, подобно тому, как это организовано в Corel Video Studio 12 Ultimate.

Автор и предположить не мог, что именно с этой программой придется помучаться, потратив времени столько же, сколько на все предыдущие шесть программ, вместе взятые, а то и больше!

При первой же попытке кодирования в AVCHD мы сталкиваемся с невероятной странностью:

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 

В одноядерной конфигурации программа перелопачивает материал в семь (!) раз дольше, чем с двумя ядрами. Так не бывает! — скажет читатель, и будет прав. Если прикрыть ладонью первый столбец диаграммы, то оставшиеся три столбца показывают вполне адекватный и ожидаемый тренд снижения времени кодирования в полном соответствии с увеличивающимся количеством ядер. Но что такое с первым столбцом? Почему, откуда столь большая разница?

Заглянем на страничку программы, где среди прочих требований имеется список рекомендуемых процессоров. Как видим, процессоры могут быть разными, в зависимости от предстоящей работы:

  • работа с MPEG-1 (VCD): Pentium 3 600 MHz или AMD Athlon 700 MHz
  • работа с MPEG-2 (DVD): Pentium 4 2.2 GHz или AMD Athlon XP 2200+
  • работа с MPEG-4, WMV, QuickTime, RealVideo: Pentium 4 2.4 Ghz или AMD Athlon XP 2400+
  • редактирование AVCHD или MPEG-2 HD: Pentium Core 2 Duo E6400 или Athlon 64 X2 5000+

Ага, вот оно: последняя строчка требований ясно показывает, что для работы с AVCHD требуется как минимум двухъядерный процессор. Хорошо, давайте нарушим правила тестирования, и заменим наш исходный AVCHD-файл обыкновенным DV-AVI той же длительности. Увы, никакой разницы. На одном (требуемом) ядре программа быстрее не заработала (правда, и медленнее тоже не стала).

Кодирование в MPEG-2 выявило тот же самый парадокс, только в еще более гипертрофированном виде: разница во времени кодирования на одном и двух ядрах составила не семь, а уже 11 с половиной раз!

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

 

Какие только попытки ни были произведены, чтобы добиться какого-то хоть чуточку более вменяемого результата! Три разных дистрибутива программы — результат тот же. Windows Vista без установленного SP1 — всё то же самое. Windows 7 (сборка 7100) — результат ещё хуже, пятнадцатикратная разница!

Остаётся только резюмировать: данная программа не может адекватно работать с одноядерным процессором. А как обстоят дела с этим видеоредактором у нашего читателя? Особенно интересно было бы выслушать мнение одноядерного пользователя :)

Выводы

Ах, как хотелось позубоскалить по поводу "быстродействия" некоторых программ... Увы, делать этого нельзя. Причины описывались выше, напомним: качество материала после кодирования в каждой программе разное, работа встроенных в программу фильтров может быть основана на совершенно разных принципах. Невозможно в один ряд ставить разные программы, это всё равно, что сравнивать аэродинамику паровоза и легкового автомобиля.

Вместо этого нам остаётся лишь выяснить, какой из рассмотренных видеоредакторов наиболее полно задействует все доступные ему ядра процессора. Оценим "скорострельность" каждого из них, сведя результаты, полученные при кодировании в AVCHD, в одну диаграмму.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Какую пользу можно извлечь из этих данных? Думается, они будут полезны тому, кто подумывает о скором апгрейде. И особенно в том случае, если пользователь до сих пор не определился в количестве ядер процессора. Немалое количество домашних машин до сих пор венчают наклейки с логотипами одноядерных процессоров. Один лишь взгляд на диаграмму заставит такого пользователя обзавестись как минимум двухъядерным процессором. Но и дальнейшее прибавление ядер вовсе не вредит работе, пусть и не в такой степени, как переход с одно- на двухъядерный процессор.

Если же читатель в раздумьях, какую ему предпочесть программу для монтажа своего видео, пусть данная диаграмма послужит ему справочником, заглянув в который, можно без труда определиться с выбором. Однако мы обязаны предостеречь новичка: не следует оценивать программу только лишь по скорости кодирования в какой-либо из форматов. Процесс монтажа — это долгий томительный труд, и несколько часов фонового просчёта — просто семечки по сравнению с проделанной вручную работой.

Поэтому давайте забудем об этих секундах, абсолютных значениях, и оценим увеличение производительности в относительных величинах — процентах. За ноль возьмём результаты, полученные при работе программы на одном ядре. Теперь отчетливо видно: чем больше ядер использует программа, тем быстрее она работает.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player


Дополнительную информацию можно увидеть, подведя курсор к ключевым точкам кривых

На данной диаграмме с помощью плавных кривых мы наблюдаем тенденцию увеличения производительности каждой программы в отдельности. Правда, для Cyberlink PowerDirector 7 не хватило места — кривая его производительности круто, ракетой, взлетела вверх, скрывшись из поля зрения. Кривая увеличения производительности другого видеоредактора — Corel VideoStudio 12 — лениво остановилась в районе 150%. Остальные же программы ведут себя более-менее адекватно, и, скажем прямо, вполне ожидаемо. Два любительских комбайна — Pinnacle Studio 12 и Nero Vision 6 неохотно наращивают свою производительность, дотянув лишь до 300%. Отчего такая немощность, по какой причине эти программы не желают работать быстрее на более быстром "железе"? Оттого, что рассчитаны на любителя, у которого вряд ли найдётся что-то мощнее двухъядерного куска кремния? Может, и поэтому. Но всё же есть ещё одна мыслишка: дело в том, что в некоторые любительские видеоредакторы встроен механизм фонового просчёта, который работает незаметно для пользователя. Для того, чтобы не мешать пользователю, занимающемуся монтажом, этот механизм специально отбирает немного ресурсов. Ну, а поскольку предполагается, что к концу работы весь материал будет уже просчитан, программе останется только вывести готовые временные файлы в результирующий видеофайл. Оттого и такая неспешность - ведь во время тестов мы отключили этот фоновый просчёт. Впрочем, это всего лишь предположение...

Наивысший же потенциал можно отметить у трёх красавцев из профессиональной ниши. Особо отличились Edius 5 и Vegas 8 — взгляните на диаграмму и мысленно продолжите оранжевую и жёлтую кривые. Похоже, тенденция к снижению производительности у этих программ начисто отсутствует: сколько ядер ни добавляй, работать эти программы станут лишь быстрее. Но это, к сожалению, тоже всего лишь теория.

Со временем, обзаведясь каким-нибудь восьмиядерным чудом, мы обязательно проверим эту гипотезу.

 

Автор благодарит представительство AMD в России
и странах СНГ за предоставленное оборудование
[Все статьи в разделе «Цифровое Видео»]





Дополнительно

iXBT BRAND 2016

«iXBT Brand 2016» — Выбор читателей в номинации «Процессоры (CPU)»:
Подробнее с условиями участия в розыгрыше можно ознакомиться здесь. Текущие результаты опроса доступны тут.

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.