Видео маппинг, видео перформансы

VJ Железо

Практическое тестирование видеокарт ATI и NVIDIA в задачах декодирования видеоданных

Содержание материала


Уже довольно много времени прошло с момента публикации нашей теоретической статьи о наборе технологий ATI AVIVO, но до практического тестирования аппаратно ускоренного проигрывания видеоданных дело не доходило. Частично это связано с тем, что на тот момент и ATI и NVIDIA так активно развивали поддержку декодирования видео в драйверах, что почти в каждом из релизов были большие нововведения в этом плане, и сравнивать производительность чипов разных вендоров было тяжело, так как ситуация менялась каждый месяц. Но сейчас всё вроде бы более-менее устоялось, то ли ATI и NVIDIA "вылизали" поддержку упомянутых в теоретической статье возможностей по поддержке декодирования видео, то ли надоело им заниматься этой задачей. Мы решили проверить на практике, насколько хорошо обстоят дела по декомпрессии и выводу видеоданных с аппаратной помощью видеочипов.

Воспроизведение видеоданных высокого разрешения ("High Definition", сокращенно - HD) в современных форматах сжатия, весьма требовательных к мощности системы, является ресурсоемкой задачей даже для мощных ПК. Основная нагрузка приходится на центральный процессор, но современные видеокарты берут на себя выполнение части вычислений по декодированию и постобработке. В современных видеочипах ATI и NVIDIA есть программируемые блоки для задач ускорения декодирования и постобработки разных видеоформатов. Технология, задействующая возможности видеочипов при воспроизведении видео, называется DirectX Video Acceleration (DXVA). Она позволяет использовать помощь видеопроцессора в декодировании и постобработке (деинтерлейсинг, шумоподавление и т.п.), а возможности чипов последних выпусков от ATI и NVIDIA по декодированию видео включают поддержку основных форматов: MPEG2, WMV9 и H.264. Для этого требуются специальные декодеры (ATI DVD Decoder, PureVideo Decoder, CyberLink MPEG2 и H.264 video decoder), и проигрыватели, поддерживающие DXVA, такие, как Windows Media Player 10. Сначала появились DXVA декодеры для аппаратного ускорения MPEG2, затем выпустили дополнение для WMP10 с поддержкой DXVA для декодирования WMV9 формата, а в последние два года появились H.264 декодеры с DXVA-ускорением, одним из первых был CyberLink. А совсем недавно, весной этого года, вышел качественный программный декодер формата H.264, под названием CoreAVC, который мы также рассмотрим в статье.

С проигрыванием MPEG2 видео в невысоких разрешениях (до используемого в DVD дисках 480p/480i) на данный момент особых проблем с производительностью не возникает, но в начале распространения DVD видео, когда типичные процессоры не очень хорошо справлялись с декодированием MPEG2, была ситуация, когда только с помощью аппаратной поддержки от видеокарт компьютеры того времени могли справиться с этой задачей. И сейчас, без соответствующей поддержки, даже некоторые новые CPU не всегда могут полностью удовлетворить требования по декодированию такого современного формата, как H.264 в самых высоких разрешениях, например, в 1080p (прогрессивный 1920x1080). По заявлениям ATI и NVIDIA, их последние видеочипы помогают процессорам в декодировании наиболее требовательного к ресурсам формата H.264, в дополнение к уже известным WMV и MPEG2, в том числе в высоких разрешениях.

Для разных чипов существуют некоторые ограничения, так, не все low-end чипы обладают необходимыми возможностями и производительностью для поддержки самых высоких разрешений, уровень аппаратной поддержки зависит от модели карты и установленного чипа. Но возможности, предоставляемые последними видеокартами по аппаратному ускорению декодирования H.264, позволяют говорить о теоретическом решении проблем с воспроизведением таких файлов. Так ли это или на практике проблемы еще остались? В статье мы рассмотрим сравнительные производительность и качество воспроизведения видео разных форматов, начиная с MPEG2 и заканчивая все тем же относительно свежим H.264/AVC, информацию о котором можно найти в уже упомянутом теоретическом материале. Особое внимание мы обратим на полностью программный декодер CoreAVC, который показал себя с хорошей стороны с момента его выпуска. CoreAVC оказался значительно более эффективным, по сравнению с другими известными H.264 декодерами от CyberLink и Nero, не говоря уже о декодере QuickTime, при том же качестве картинки. Кстати, на данный момент аппаратно ускоренная версия CoreAVC пока еще отсутствует в публичном доступе, но, судя по заявлениям его разработчиков, планы по поддержке видеочипов у них есть.

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

Аппаратная конфигурация тестовой системы:


    • Процессор: AMD Athlon 64 3200+ Socket 939
    • Системная плата: Foxconn WinFast NF4SK8AA-8KRS (NVIDIA nForce4 SLI)
    • Оперативная память: 2048 Мб DDR SDRAM PC3200
    • Жесткий диск: Seagate Barracuda 7200.7 120 Gb SATA
    • Операционная система: Microsoft Windows XP Professional SP2

Для тестов использовались две видеокарты на чипах основных производителей:



Использовалась последняя, доступная на момент написания версия драйвера CATALYST и последняя официальная бета-версия ForceWare, так как именно в ней, по заявлению NVIDIA, были сделаны некие нововведения и изменения, связанные с технологией PureVideo.

Используемое программное обеспечение (проигрыватели, кодеки):

Все настройки драйверов и программного обеспечения оставлены по умолчанию. Основные настройки производительности Windows Media Player 10, использованные при тестировании, приведены на скриншоте:



"High quality mode" в настройках WMP10 отвечает за использование Video Mixing Renderer 9 (VMR9). Скриншоты захватывались в разрешении 1024x768 при полноэкранном выводе изображения, а тестирование производительности проводилось в 1920x1080. Поддержка оверлеев была отключена, чтобы производить захват скриншотов в одинаковых условиях для карт ATI и NVIDIA.

Список видеороликов, используемых в тестах

Видеофайл Формат Разрешение, пикс HD формат Частота кадров, FPS Битрейт, Мбит/с
da_vinci_code-tsr2_h720p.mp4 H.264 1280x720 720p 24 5
ice_age_2-tlrD_h1080p.mp4 H.264 1920x1080 1080p 24 10
PGR3_E32005_Xbox360_Video.wmv WMV HD 1280x720 720p 30 5
MP10_Striker_10mbps.wmv WMV HD 1920x1080 1080p 24 10
opening2.mpg MPEG2 720x480 480i 30 7
emotion.mpg MPEG2 1920x1080 1080i 30 18
test-hdtv.mpg MPEG2 1920x1080 1080p 25 20

Как видите, в состав тестового материала вошли ролики во всех наиболее востребованных видеоформатах, чаще всего в двух распространенных разрешениях - 1280x720 и 1920x1080. Помимо этого, в состав тестов вошел и небольшой MPEG2 ролик с разрешением всего лишь 720x480 (480i), так как DVD диски до сих пор весьма широко используются. Единственное отличие ролика от формата большинства DVD дисков - его чересстрочность (интерлейсинг). Если исключить влияние деинтерлейсинга, с MPEG2 видео проблем обычно не бывает.

Тесты проводились в разрешении 1920x1080 при помощи собственной утилиты с использованием ActiveX компоненты Windows Media Player 10, позволяющей замерять использование ресурсов процессора во время проигрывания, получать статистику WMP10, а также снимать скриншоты с точной установкой позиции ролика на нужный кадр видеопоследовательности. Замерялась средняя загрузка центрального процессора системы при трехкратном проигрывании каждого из роликов. Проводился также сбор и попытка использования таких значений, как количество пропущенных кадров в секунду и достигнутая при проигрывании частота кадров, но оба эти значения на некоторых сочетаниях роликов и декодеров получались явно некорректными, и от затеи пришлось отказаться. С подсчетом среднего времени загрузки CPU никаких проблем нет, и это значение было принято для использования в тестах при определении качества аппаратной поддержки декодирования видео платами ATI и NVIDIA. Лишь в одном случае упомянута и цифра пропущенных кадров видеопоследовательности.

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

Тесты мы начнем с самого интересного формата - H.264. Обе видеокарты тестировались с применением двух декодеров - полностью программного CoreAVC Pro, в который еще не встроили поддержку аппаратного ускорения видеокартами, и поддерживающем DXVA ускорение CyberLink H.264/AVC Decoder из комплекта PowerDVD 7 Deluxe. Также, для сравнения, приведена цифра загрузки процессора при помощи программного декодера H.264, встроенного в пакет QuickTime. Этот декодер появился одним из первых, и большая часть заслуги в продвижении H.264 как весьма ресурсоемкого формата принадлежит именно ему.

H.264 (720p)



Цифры показывают, что декодирование формата H.264 даже в не самом высоком разрешении 720p с применением устаревшего программного декодера QuickTime почти полностью задействует мощности не самого слабого тестового процессора. Наблюдаются явные рывки и пропуски кадров, пусть и не такие массовые, но все же неприятные. Декодер CyberLink нормально справляется с работой на обеих видеокартах, загрузка на ATI оказалась чуть ниже, чем на NVIDIA. То же самое мы видим и на примере CoreAVC, хотя он и полностью программный, NVIDIA все же немного отстает от ATI по производительности. Но разница совсем невелика - 7-8%, и с учетом того, что CPU загружен менее чем наполовину, я бы сказал, что ее почти нет, она не будет ощутима практически.

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

EventCatalog.ru — всё для организации мероприятий!