Кодирование видео – CPU Phenom II x6 против GPU ATI 4290

Эксперимент проводился исключительно для себя в целях общего понимания данного вопроса.
Исходные данные:
Конфигурация:
Процессор: Phenom II x6 1055T – 2,8GHz (т.е. на штатной частоте);
Мать: Gigabyte 890GPA-UD3H
Память: 2x2Gb DD3 1600 Kingston HyperX
HDD: 1Tb Samsung HD103SJ + 1Tb HD103UJ
ОС Windows 7 – 32

Материнская плата имеет интегрированное видео в составе чипсета 890GX. Видеоядро по своей сути является ATI Radeon HD4290 со 128Mb собственной памяти DDR3, распаянной на плате. Видео работает на штатной частоте 700MHz, однако в целях эксперимента скорость кодирования проверялась и с повышением частоты до 920MHz (выше уже появляются артефакты). Также для видео выделялось дополнительно 512 Mb из оперативной памяти, которая все равно остается невостребованной при работе в 32-битном режиме.

Параметры ролика для экспериментов:
640x480@30fps,
MJPEG, 14842 kbps,
длительность 9 мин 12 с,
размер – 978 Mb,
звук заранее удален для чистоты эксперимента.
Кодеки:
1. DivX 6.9.2 (Virtual Dub 1.9.10)
2. AMD Video Converter (из Catalyst 10.12) – MPEG4 (совместимый с DivX)
Для обоих кодеков задавался битрейт 4000 kbps.
Для DivX использовались все настройки по умолчанию (сбалансированный режим).


AMD Video Converter достаточно прост и не позволяет задавать ничего, кроме битрейта.

Результаты:
А результаты получились весьма неоднозначные:


с одной стороны имеем преимущество в 10 секунд и соответственно 10-15 fps в пользу GPU, с другой стороны повышение частоты GPU на 220MHz существенно на результаты не повлияло.
Стоит иметь ввиду, что для конечного пользователя закрыты истинные параметры кодека, применяемого в AMD VC, поэтому еще не факт, что выигрыш достигается за счет использования поточных процессоров GPU. Все может оказаться несколько банальней - используется "быстрый" метод кодирования в ущерб качеству.
Кроме того, при кодировании AMD VС загруженные ядра ЦП работали на частотах до 3200MHz вместо штатных 2800MHz ввиду неотключенной технологии Turbo Core, которая повышает частоту 3-х ядер, если остальные 3 не используются. Ниже привожу графики загрузки CPU в ходе кодирования, полученные при помощи программы Process Explorer.


Выводы:
Сложно дать правильную интерпретацию полученным результатам, в первую очередь из-за неравнозначности используемых кодеков и невозможности проконтролировать сопоставимость параметров кодирования.
Скорее всего исследование зависимости скорости кодирования от разрешения исходного видео внесет больше ясности в вопросе преимущества GPU перед CPU. Могу только предположить, что падение производительности на CPU будет существенно больше, чем на GPU. Впрочем, оставляю подобное исследование для энтузиастов, с мощным железом и неумолимым желанием открывать неизведанное

Для себя я сделал однозначный выбор - продолжать кодировать на CPU. У меня гораздо больше доверия к DivX как в плане качества, так и совместимости. Тем более, что существенных преимуществ в скорости в моем случае GPU не дает.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Сейчас обсуждают