Новые процессоры Intel и работа с видео

Заметки по поводу

Введение

     В мае 2003 года стали доступны относительно недорогие процессоры Intel Pentium 4 с поддержкой технологии Hyper-Threading (мы рассказывали об этом режиме здесь). Ранее эта технология поддерживалась только в очень дорогих процессорах на 3.06 GHz. Новые процессоры также имеют системную шину в реальных 200 MHz, в отличие от предыдущих, имевших шину 133 MHz. Мы решили попытаться понять, насколько заметен будет эффект от применения новых процессоров для решения задач обработки видео.

Тестирование

      Для тестирования была собрана платформа на базе материнской платы ASUS P4P800, процессора Intel Pentium 4 2400C и памяти 2х512 MB DDR3200. 
      Мы решили проверить работу новых процессоров на примере двух популярных программ - Canopus ProCoder с движком 3.2.0.2 и Ulead MediaStudio Pro 7.01. Для оценки влияния роста частоты процессора на скорость работы мы использовали возможности "разгона" процессора, предлагаемые BIOS материнской платы. Во всех случаях использовалась операционная система Windows XP Professional English.

Canopus ProCoder 

    Canopus ProCoder продемонстрировал явную зависимость скорости кодирования от включения/выключения поддержки Hyper-Threading и также он "одобрил" рост скорости системной шины процессора. Настройки ProCoder были такими -  Maximum bitrate 9200, Video bitrate - 6000, DCT=10, Mastering-Quality, 2PASS_VBR. Вначале мы взяли водный фрагмент в 10 секунд (из которого потом использовали 2с:2к для многократных тестов) и закодировали его на платформе с материнской платой ASUS P4PE, процессором Intel Pentium 4 2.533 GHz и памятью 2х512 MB DDR2700. Время кодирования составило 7 минут 4 секунды или 424 секунд. Затем мы заменили платформу на тестовую, описанную выше, отключили поддержку Hyper-Threading (далее HT) и повторили кодирование. Результат - 6 минут 40 секунд или 400 секунд. Т.е., несмотря на то, что частота процессора уменьшилась более чем на 5%, скорость кодирования выросла почти на 5%. Тем самым очевидно, что увеличение скорости шины принесло свои плоды, хотя и не такие заметные, как нам бы хотелось. Но, включив HT, мы получили время кодирования уже 6 минут 2 секунды, что на 15% лучше, чем на процессоре с большей тактовой частотой, но без режима HT и с более медленной системной шиной.   
     Для многократного тестирования мы использовали фрагмент в 2 секунды: 2 кадра с бурно плещущейся водой, что представляет собой самую трудную задачу для кодирования. Результаты сведены в таблицу:

Частота процессора, MHz Время кодирования, сек, HT включен Время кодирования, сек, HT отключен  Рост производительности
2400 82 89 8.5%
2520 79 86 8.8%
2640 76 82 7.9%
2880 69 76 10.1%

Как видно из результатов тестирования, прирост безусловно есть, и он будет ощутим при кодировании больших файлов. 

Ulead MediaStudio Pro 7.01

     Вначале мы просчитали тестовый проект на  платформе с материнской платой ASUS P4PE, процессором Intel Pentium 4 2.533 GHz и памятью 2х512 MB DDR2700. Время просчета составило 6 минут 55 секунд или 415 секунд. Затем мы заменили платформу на тестовую, описанную выше, отключили поддержку Hyper-Threading (далее HT) и повторили просчет того же проекта. Результат - 6 минут 30 секунд или 390 секунд. Т.е., несмотря на то, что частота процессора уменьшилась более чем на 5%, скорость просчета выросла на 6%. Тем самым, Ulead еще более "тепло" откликнулся на увеличение частоты системной шины, чем Canopus ProCoder.
      Но на этом, к сожалению, все приятные неожиданности закончились. При включении HT режима скорость просчета никак не менялась по сравнению с обычным режимом (использовался кодек MainConcept 2.1.0). Это было видно и по диаграммам загрузки обоих виртуальных процессоров:

Как видно из рисунка, один виртуальный процессор нагружается в "противофазе" с другим и общая нагрузка все равно не превышает нагрузку на один процессор с отключенным HT. Такой подход разработчиков программы относится именно к HT режиму. На компьютерах с двумя реальными процессорами программа использует их очень разумно и производительность заметно увеличивается по сравнению с системами на одном процессоре. Никаких изменений от включения HT режима не было заметно и в режиме Instant Play.

MainConcept DV Codec 2.4.4

     28 июля 2003 года фирма MainConcept выпустила новую версию своего популярного DV кодека, которая, по заявлению его разработчиков, поддерживает многопроцессорные конфигурации и технологию Hyper-Threading. Мы решили проверить, насколько справедливы эти заявления.
     Для тестирования кодека мы использовали Ulead MediaStudio Pro версии 7.01 и компьютер с процессором Intel Pentium 4 2600C. Мы применили к 2.5 минутному клипу фильтр Bubble, требующий значительных вычислительных ресурсов при просчете. Результаты:

  • MainConcept DV Codec 2.1.0 - 345 секунд

  • MainConcept DV Codec 2.4.4 - 329 секунд

      После выхода этой заметки мы получили ряд писем, в которых нам совершенно справедливо указали на некорректность этого теста для проверки производительности именно DV кодека. Действительно, кодек участвует только в декодировании кадра из исходного фильма и кодировании результатов просчета, поэтому при наложении сложных фильтров или переходов участие кодека в просчете весьма незначительно.
      Мы решили провести эксперимент правильно и попытаться оценить именно скорость работы DV кодека. Для этого был взят проект длительностью 53 минуты. Все файлы проекта имели атрибут кодека MainConcept. По команде File/Create/Video File создавался итоговый файл проекта с включенным параметром Recompress. В этом случае каждый кадр будет обрабатываться кодеком и от его производительности будет существенно зависеть время, необходимое для создания файла. Результаты тестирования сведены в таблицу:

Кодек Режим Hyper-Threading включен Режим Hyper-Threading выключен Режим Recompress выключен
MainConcept 2.1.0 52 минут 50 сек -  
MainConcept 2.4.4 47 минут 10 сек 49 минут 10 сек 28 минут 50 сек

      Как видно из таблицы, новый кодек при включенном режиме Hyper-Threading (HT) дает значительное преимущество в скорости работы - 12%. Отключение HT приводит к падению производительности на 7% по сравнению с включенным режимом HT. На рисунках ниже отчетливо видно, что при работе с MainConcept версии 2.4.4 оба виртуальных процессора используются более эффективно.

MainConcept 2.1.0
MainConcept 2.4.4
Режим Recompress отключен

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

Итоги

    Как говорят в таких случаях, есть хорошие результаты и плохие. Начнем с плохих - Ulead MSP не ускоряет работу после включения режима HT, а ускорение кодирования в Canopus ProCoder не так значительно, как нам бы хотелось. Теперь о хороших результатах, возникающих кстати, не только от включения режима HT, но и от перехода на более быструю системную шину. Они таковы:

  1. Рост скорости кодирования у Canopus ProCoder при замене процессора с обычного на процессор даже с меньшей тактовой частотой, но с поддержкой HT и шины 200 MHz составляет почти 20%.

  2. Скорость просчета проекта в Ulead MSP7.01 заметно увеличилась с переходом на новую системную шину.

  3. Несмотря на то, что Ulead MSP7.01 сам по себе не использует преимуществ HT режима, если этот режим включен, то работа за компьютером становится более комфортной. Можно без особого замедления работать с другими приложениями, что при отключенном HT практически невозможно. 

  4. Новая версия кодека от MainConcept дает реальное преимущество в скорости работы на процессоре с HT.

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