Программы видеоконвертирования 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 имеет очень простой и интуитивно понятный графический интерфейс, который позволяет задать все опции видеоконвертирования или выбрать пресет.

Однако для тестирования удобнее использовать командную строку. Для этого нужно скачать 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.

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

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

При тестировании мы используем тот же 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.




20 октября 2016 Г.

HandBrake MediaCoder

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 , .

. 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.

, , , .

, , .

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.