Программы видеоконвертирования HandBrake и MediaCoder в качестве теста процессоров и ПК: изучаем зависимость теста от количества ядер процессора, тактовой частоты процессора и частоты памяти

Эта статья является четвертой в цикле, посвященном различным реальным приложениям, которые могут использоваться для тестирования процессоров, компьютеров, ноутбуков и рабочих станций и которые в дальнейшем будут положены в основу нового тестового пакета iXBT Application Benchmark 2017. Напомним, что в первой части данного цикла мы рассматривали два специализированных приложения LAMMPS и NAND, которые используются для решения задач молекулярной динамики. Во второй статье мы уделили внимание специализированному математическому пакету FFTW. В третьей части были рассмотрены программы POV-Ray 3.7, LuxRender 1.6 и Вlender 2.77a, которые используются для рендеринга трехмерных сцен. В этой статье мы рассмотрим две небольшие бесплатные программы, которые относятся к категории видеоконвертеров: HandBrake 0.10.5 и MediaCoder x64 0.8.45.5852. Собственно, в обоих случаях речь идет лишь о графической оболочке, а по сути время конвертирования видео определяется временем кодирования в новый формат лучшим H.264-кодером — x264.

HandBrake 0.10.5

HandBrake — это бесплатный видеоконвертер из любого формата видео в MPEG-4 ASP или MPEG-4 AVC с открытым исходным кодом. Есть версии для MacOS X, Windows и Linux. Для Windows имеются 32-битная и 64-битная версия программы.

Встроенные пресеты под Apple iPod, iPhone, iPad, AppleTV, Android и др. позволяют очень легко реализовывать конвертирование.

Программа HandBrake имеет очень простой и интуитивно понятный графический интерфейс, который позволяет задать все опции видеоконвертирования или выбрать пресет.

handbrake-small.png

Однако для тестирования удобнее использовать командную строку. Для этого нужно скачать Windows-версию для командной строки (опять-таки, есть 32-битная и 64-битная версия), причем версия HandBrake для командной строки даже не требует инсталляции на компьютер.

Синтаксис команды следующий:

HandBrakeCLI.exe [options] -i <входной_файл> -o <выходной_файл>

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

HandBrakeCLI.exe --help

Параметр -i задает входной видеофайл, а параметр -o — выходной видеофайл.

При тестировании для видеоконвертирования мы используем HD-видеоролик (1920×1080) длительностью 3 минуты 35 секунд размером 1,05 ГБ, с видео в формате MPEG4 AVC (H.264) в контейнере MKV. Конвертирование производится с пресетом iPad.

В этом случае синтаксис команды выглядит следующим образом:

HandBrakeCLI.exe --preset iPad -i <входной_файл> -o <выходной_файл>

Измеряется время видеоконвертирования.

MediaCoder x64 0.8.45.5852

Бесплатный видеоконвертер MediaCoder x64 мы в наших тестах уже использовали. Единственное, что изменилось в данном случае, это версия программы.

Программа MediaCoder имеется не только под Windows, но и под Mac OS X и Linux. Под Windows существует 32-битная и 64-битная версия программы.

Для тестирования мы используем 64-битную Windows-версию 0.8.45.5852.

Программа имеет очень простой и понятный графический интерфейс, но, в то же время, количество возможных опций при видеоконвертировании просто огромное и возможности по настройке очень гибкие.

mediacoder-small.png

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

При тестировании мы используем тот же HD-видеофайл, что и в случае программы HandBrake. Исходный видеофайл конвертируется в другой формат (контейнер MP4) с меньшим разрешением и видеобитрейтом.

Тестовый стенд и методика тестирования

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

  • Процессор: Intel Core i7–6950X (Broadwell-E);
  • Системная плата: Asus Rampage V Edition 10 (Intel X99);
  • Память: 4×4 ГБ DDR4–2400 (Kingston HyperX Predator HX424C12PBK4/16);
  • Видеокарта: Nvidia Quadro 600;
  • Накопитель: SSD Seagate ST480FN0021 (480 ГБ).

В ходе тестирования замерялось время выполнения видеоконвертирования.

Рассматривалась зависимость результатов тестирования от количества используемых ядер процессора, от частоты ядер процессора и от частоты памяти.

Зависимость результатов от количества ядер процессора

Количество используемых в ходе тестирования ядер процессора Intel Core i7–6950X регулировалось через настройки UEFI BIOS платы Asus Rampage V Edition 10. Напомним, что процессор Intel Core i7–6950X является 10-ядерным, но поддерживает технологию Hyper-Threading, поэтому операционной системой и приложениями он видится как 20-ядерный (имеет 20 логических ядер).

Мы не отключали технологию Hyper-Threading и меняли лишь количество физических ядер процессор от 1 до 10. В дальнейшем мы будем говорить о логических ядрах процессора, количество которых менялось от 2 до 20 с шагом 2.

Частота работы всех ядер процессора фиксировалась и составляла 4,0 ГГц.

Результаты тестирования следующие:

Собственно, это классический вариант, когда приложение отлично распараллеливается на все доступные ядра процессора и загружает каждое ядро на 100%. При удвоении числа ядер процессора время выполнения теста уменьшается примерно в 2 раза. Скорость выполнения тестовых задач меняется почти линейно в зависимости от числа ядер процессора. Это особенно хорошо видно по графику нормированной скорости выполнения тестовых задач (нормируется относительно времени выполнения задач на двух логических ядрах процессора).

И для приложения MediaCoder, и для приложения HandBrake скорость видеоконвертирования меняется линейно в зависимости от числа ядер процессора фактически во всем диапазоне. При увеличении числа ядер от 2 до 20 скорость возрастает почти в 10 раз для приложения MediaCoder и почти в 9 раз для приложения HandBrake. То есть тестовая задача в приложении MediaCoder масштабируется по ядрам процессора чуть лучше, чем тестовая задача в приложении HandBrake.

Зависимость результатов от частоты процессора

Частота ядер процессора Intel Core i7–6950X менялась в настройках UEFI BIOS платы Asus Rampage V Edition 10 путем изменения коэффициента умножения. Частота работы всех ядер фиксировалась (то есть режим Turbo Boost отключался). Использовались все ядра процессора (10 физических/20 логических). Частота менялась от 3,0 ГГц до 4,2 ГГц с шагом 200 МГц.

Результаты тестирования следующие:

Как видно по результатам тестирования, время выполнения тестовых задач меняется линейно в зависимости от частоты ядер процессора. Частоту в 4,2 ГГц, при которой время видеоконвертирования оказывается даже больше, чем при частоте 4,0 ГГц, можно не учитывать, поскольку речь идет о разгоне процессора, а ситуация, когда разгон по частоте приводит к ухудшению результатов, встречается довольно часто. Действительно, как выяснилось в ходе дополнительного анализа, при номинальной частоте 4,2 ГГц в задачах видеоконвертирования возникает перегрев процессора, в результате чего его реальная частота опускается до 3,6–3,8 ГГц.

При увеличении частоты от 3,0 до 4,0 ГГц (увеличение на 33%) время выполнения тестовых задач уменьшается примерно на 20%.

Зависимость результатов от частоты памяти

Теперь рассмотрим зависимость скорости выполнения тестовых задач от частоты работы памяти. Память DDR4 работала в четырехканальном режиме (по одному модулю на канал), а частота памяти менялась в настройках UEFI BIOS в диапазоне от 1600 МГц до 2800 МГц c шагом в 200 МГц. Тайминги памяти фиксировались и не менялись при изменении частоты. Все ядра процессора работали на частоте 4,0 ГГц.

Результаты тестирования следующие:

Как видим, скорость видеоконвертирования в приложениях MediaCoder и HandBrake никак не зависит от частоты работы памяти. По крайней мере, в четырехканальном режиме работы пропускной способности памяти DDR4 вполне достаточно даже на частоте 1600 МГц, и дальнейшее увеличение частоты памяти не позволяет ускорить выполнение тестовых задач.

Данный результат является типичным для большинства приложений. Лишь в редких случаях скорость работы памяти влияет на результат выполнения тестовых задач.

Заключение

Итак, в этой статье были рассмотрены два приложения (HandBrake 0.10.5 и MediaCoder x64 0.8.45.5852) для видеоконвертирования. На примере 10-ядерного процессора Intel Core i7–6950X было показано, что, во-первых, тестовые задачи в этих пакетах отлично распараллеливаются на все ядра процессора и загружают их на 100%. Именно это обстоятельство позволяет рассматривать данные приложения как отличный вариант для тестирования многоядерных процессоров. Зависимость скорости выполнения тестовых задач от числа ядер процессора является почти линейной.

Во-вторых, было показано, что время выполнения тестовых задач линейным образом зависит от частоты ядер процессора. При увеличении частоты процессора на 33% время выполнения тестовых задач уменьшается примерно на 20%.

В-третьих, было показано, что время выполнения тестовых задач никак не зависит от скорости памяти DDR4 (при четырехканальном режиме работы).

В следующей статье данного цикла мы рассмотрим программы видеоредактирования и создания видеоконтента: Adobe Premiere Pro СС 2015.4, Magix Vegas Pro 13, Magix Movie Edit Pro 2016 Premium v. 15.0.0.102, Adobe After Effects CC 2015.3 и Photodex ProShow Producer 8.0.3648.

Полный текст статьи читайте на iXBT