Практическое тестирование видеокарт AMD и Nvidia в задачах декодирования видеоданных:
Июнь 2007 года



Прошло немало времени с выпуска нашего предыдущего исследования производительности и качества декодирования видео на картах ATI и Nvidia. С тех пор компания ATI была куплена AMD, обеими компаниями выпущены новые видеокарты с заявленной улучшенной поддержкой видеодекодирования. Программная поддержка аппаратного декодирования в драйверах постоянно развивается, ситуация с производительностью и качеством может меняться раз в несколько месяцев. Мы в очередной раз решили проверить на практике, насколько хорошо видеочипы AMD и Nvidia справляются с задачами декомпрессии и вывода видеоданных.

Воспроизведение видео высокого разрешения, сжатого при помощи современных форматов сжатия, таких, как H.264, WMV и VC-1, да ещё с большим битрейтом, достаточно требовательно к мощности системы. При проигрывании видеоданных любых форматов в невысоких разрешениях проблем с производительностью не возникает, но некоторые новые центральные процессоры с трудом справляются с программным декодированием современных форматов в высоких разрешениях (1920x1080) при больших битрейтах. До недавних пор основная нагрузка ложилась на CPU, но современные видеокарты берут на себя выполнение всё большей части вычислений по декодированию и постобработке видео. Современные видеочипы AMD и Nvidia содержат специальные выделенные блоки, используемые для задач ускорения декодирования и постобработки, самые последние решения разгружают CPU почти полностью, одна из таких видеокарт участвует в наших тестах.

Для поддержки технологии аппаратной поддержки воспроизведения, DirectX Video Acceleration (DXVA), требуются специальные декодеры (например, Nvidia PureVideo Decoder, CyberLink MPEG2 и H.264 video decoder), и проигрыватели с поддержкой DXVA. На данный момент существуют DXVA-декодеры для аппаратного ускорения MPEG2, WMV, VC-1 и H.264, которыми мы и воспользуемся.

У разных видеочипов уровень поддержки аппаратного ускорения декодирования видео разный, он зависит от модели карты и установленного чипа. Ранее, некоторые low-end решения были ограничены в поддержке декодирования видео высоких разрешений, но складывается обратная ситуация — что у AMD, что у Nvidia. Верхние чипы линеек, R600 и G80, не поддерживают всех возможностей, которыми обладают решения среднего и низшего ценовых диапазонов. В данном обзоре мы рассмотрим на практике сравнительную производительность декодирования и вывода видеоданных разных форматов, начиная с MPEG2 и заканчивая VC-1, на трех разных видеокартах.

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

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

  • Процессор: AMD Athlon 64 X2 4600+ 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/Microsoft Windows Vista Home Premium

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

Использовались последние, доступные на момент написания версии драйверов: AMD CATALYST 7.4 для обеих версий операционных систем в случае карты AMD, и ForceWare 158.22 и 158.43 для Windows XP и Windows Vista в случае плат на чипах Nvidia. Тестирование в Vista стало необходимым из-за того, что возможности по аппаратному декодированию чипа G84, применяемого в Geforce 8600 GTS, на данный момент доступны только в этой операционной системе.

К сожалению, на момент проведения тестов у нас не было возможности протестировать и новые видеокарты AMD на чипах их последней линейки — из серии RADEON HD 2000. Хотя, как оказалось по данным наших коллег, RADEON HD 2900 XT не поддерживает всех заявленных возможностей и не слишком отличается от предыдущих решений компании в плане аппаратной поддержки воспроизведения видеоданных. А плат на основе чипов RV610 и RV630 в нашей лаборатории пока нет.

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

  • Microsoft Windows Media Player 11.0.5358.4827 (с соответствующим декодером Windows Media Video Decoder 11.0.5358.4827 в комплекте)
  • CyberLink PowerDVD 7.3 Ultra Build 2907 (с декодерами CyberLink 264 Decoder Filter 2.0.1626 и CyberLink Video/SP Filter 8.0.1626)
  • Nvidia PureVideo Decoder 1.02.223 (Nvidia Video Decoder 04.02-223)
  • CoreAVC DirectShow Video Decoder 1.3.0.0

В качестве основных декодеров для MPEG2 и H.264 были выбраны решения производства CyberLink из состава PowerDVD 7.3 Ultra, так как этот продукт является одним из наиболее распространенных проигрывателей, вместе с WinDVD и Windows Media Player, а также поддерживает аппаратное ускорение на всех видеокартах, в том числе самых новейших — Geforce 8600 GTS. В настройках PowerDVD и соответствующего декодера включалось аппаратное ускорение («Enable hardware acceleration» и «Use DXVA»), в AMD CATALYST Control Center был включен пункт «Pulldown Detection», в панели управления Nvidia ForceWare — «Use inverse telecine», остальное оставлено по-умолчанию. Основные настройки производительности Windows Media Player 11, использованные при тестировании, приведены на скриншоте:

«High quality mode» в настройках WMP отвечает за использование Video Mixing Renderer 9 (VMR9), тестирование производительности проводилось в разрешении 1920x1080 пикселей. Для декодирования WMV и VC-1 видео использовался декодер Windows Media Video Decoder, для H.264 — CyberLink 264 Decoder Filter и CoreAVC DirectShow Video Decoder, а для MPEG2 — Nvidia Video Decoder и CyberLink Video/SP Filter.

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

Видеофайл Формат Разрешение, пикс HD формат Частота кадров, FPS Битрейт, Мбит/с
20070111_1659.TS H.264 1920x1080 1080i 24 8
biohazard2_1080p.mp4 H.264 1920x1080 1080p 24 8
cornell_m1080p.mov.mp4 H.264 1920x1080 1080p 30 9
WG30secSpot_AVC_HDTV.mp4 H.264 1920x1080 1080p 30 16
MPEG2_24Mbps_final.mkv MPEG2 1920x1080 1080p 25 24
emotion.mpg MPEG2 1920x1080 1080i 30 18
Dolphins_1080.wmv WMV9 1440x1080 1080p 24 8
MP10_Striker_10mbps.wmv WMV9 1920x1080 1080p 24 10
Taxi3_WMVHD_Extract.wmv WMV9 1440x816 - 24 8
FlightSimX_720p60_51_15Mbps.wmv VC-1 1280x720 720p 60 15
gthd_demo_replay_720p.wmv VC-1 1280x720 720p 60 5

В состав тестового материала вошли ролики всех востребованных видеоформатов, в двух распространенных разрешениях: 1280x720 и 1920x1080, и пара нестандартных. От роликов с меньшим разрешением было решено отказаться полностью, так как, если исключить некоторые вопросы качества, связанные с применением адаптивного деинтерлейсинга для MPEG2, проблем с проигрыванием такого контента сейчас нет.

Тесты проводились в разрешении 1920x1080 при помощи специальной утилиты с использованием ActiveX компоненты Windows Media Player 11, позволяющей замерять использование ресурсов процессора во время проигрывания, а также получать другую статистику WMP11. Замерялась средняя загрузка центрального процессора системы при проигрывании каждого из роликов. Проводился также сбор таких значений, как количество пропущенных кадров в секунду и достигнутая при проигрывании частота кадров, но эти значения на разных сочетаниях роликов и декодеров получаются некорректными, и их применение затруднено. А средняя доля загрузки CPU принята для определения скоростных характеристик аппаратной поддержки декодирования видео решениями AMD и Nvidia.

Следует помнить, что во время любых тестов работают несколько фоновых процессов, системных и других. Поэтому нужно учитывать возможность небольших колебаний результатов загрузки CPU и соответствующую погрешность измерения. Иными словами, разница до 3% не говорит о преимуществе того или иного решения, так как может являться следствием погрешности измерения.

Проблемы тестирования видеодекодирования

Подобные тесты проводить непросто, особенно это относится к сравнительно новым видеоформатам. Аппаратное ускорение работает не всегда идеально, не со всеми декодерами и типами видеоданных. Так, изначально сразу несколько производителей плееров и декодеров H.264 объявили о поддержке ускорения в решениях. На деле это были, скорее, рекламные заявления, и ускорение H.264 или не работало вовсе или работало кое-как.

Например, в своё время на рынке появилась версия PowerDVD 7.0 с поддержкой декодирования H.264, но не работающим аппаратным ускорением, версия того декодера была 1.6.0.1528. При использовании этого декодера ускорение включается, но на деле не работает. И в нашем прошлом тестировании, к сожалению, использовалась именно эта версия, поэтому и результаты тогда получились некорректные.

Кроме того, на разных моделях видеокарт одной и той же компании ускорение может работать, а может не работать. Особенно это относится к low-end и mid-end решениям прошлых поколений, таких как Geforce 6600 и RADEON X1300. Бывали случаи, когда при выполнении одинаковой последовательности действий, ускорение включалось на одной карте, но не включалось на другой. Это ещё не все проблемы аппаратного декодирования, так, H.264 декодер CyberLink в DXVA ускоренном режиме всегда отключает деблокинг (удаление артефактов блочности изображения), что хорошо заметно на плавных цветовых переходах. и стоит отметить, что некоторые версии декодеров могли работать в аппаратно ускоренном режиме на видеокартах одного производителя, и не работать на видеокартах другого, в зависимости от версий драйверов.

Но это ещё не всё. Ведь видеоданные бывают разными: записанными на диски, в виде файлов, потокового видео, передающегося в транспортном потоке со спутников. Для работы с разными форматами существует множество плееров, и универсальные декодеры должны уметь работать в различных программах, предназначенных для проигрывания разных типов видео. Но некоторые распространенные декодеры (например, Nero Video Decoder) работают только в плеерах, что лишает их применение смысла и делает невозможным использование в нашем тесте. Из универсальных H.264 декодеров можно отметить три распространенных: ffdshow, CoreAVC и CyberLink, все они могут работать в большинстве плееров и с большим количеством разнообразных типов видео. Аппаратное ускорение из этой тройки поддерживает лишь CyberLink, CoreAVC является самым быстрым программным декодером, а ffdshow бесплатен и весьма широко распространен.

Еще одна трудность тестирования проигрывания видео высокого разрешения в слабой распространенности соответствующих оптических приводов и дисков. Так, в наших условиях отсутствует возможность тестирования Blu-ray и HD-DVD дисков, да еще с выводом изображения на HD-монитор с поддержкой HDCP. Поэтому, пока мы решили ограничиться тестами видеороликов разных форматов и битрейтов, которые вполне отражают нагрузку на CPU и GPU при воспроизведении указанных выше дисков, кроме, разве что, формата VC-1.

В прошлом обзоре, помимо производительности решений с поддержкой технологий Avivo и PureVideo, мы затрагивали и вопросы качества изображения. На примере большинства протестированных форматов мы увидели, что заметных проблем качества нет. Например, декодеры H.264 обеспечивают идентичное качество, отличия могут быть лишь в настройках яркости, насыщенности, контрастности и отсутствии деблокинга в режиме аппаратного ускорения.

По наиболее проблемному, с точки зрения качества, формату MPEG2 планировалось исследование в специальном тесте HQV, разработанном компанией Silicon Optix и предназначенном для анализа качества декодирования MPEG2 данных. Один из больших недостатков этого теста — субъективность оценки, так как она возлагается на тестера, который должен определить качество изображения в каждом из подтестов, сравнивая полученную картинку с эталоном.

Но самым большим недостатком теста, на наш взгляд, является то, что оба производителя GPU оптимизировали драйверы под него и сейчас показывают весьма близкие результаты, едва не дотягивающие до максимально возможных. Разница в количестве очков, заработанных последними решениями AMD и Nvidia, в этом тесте весьма небольшая, смысла в подобном исследовании качества очень мало. Но, в любом случае, можно твердо сказать, что решения AMD и Nvidia с аппаратной поддержкой декодирования MPEG2 обеспечивают значительно лучшее качество изображения, по сравнению с чисто программным декодированием.

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

Переходим к главному — тестам производительности. Проигрывание MPEG2 данных в низких разрешениях давно не представляет серьезных проблем для современных систем с мощными CPU и поддержкой со стороны GPU, декодирование таких данных загружает центральный процессор от силы на 5-10%. Именно поэтому в данном исследовании основное внимание было уделено современным форматам: H.264, WMV9, VC-1, а MPEG2 был представлен исключительно в виде роликов высокого разрешения и большого битрейта.

Тестирование мы начинаем с интересного для нас формата — H.264. Системы тестировались с применением двух декодеров — полностью программного CoreAVC Pro, в котором нет поддержки аппаратного ускорения видеочипами, и поддерживающем DXVA ускорение CyberLink 264 Decoder Filter из комплекта PowerDVD 7.3 Ultra. Для сравнения приведена и цифра загрузки процессора при работе программного декодера H.264 от того CyberLink. Тесты с аппаратным ускорением проводились отдельно для Windows XP и Vista.

Формат H.264

Первые полученные результаты показывают, что программное декодирование формата H.264 в высоком разрешении задействует серьезные мощности не самого слабого двухъядерного процессора. Конечно, рывков и пропуска кадров нет, но загрузка двух ядер более чем на 50% — это серьезно. Программный CoreAVC чуть быстрее CyberLink в таких условиях, но разница не слишком велика. Декодер CyberLink отлично работает на всех видеокартах, загрузка процессора в Vista на G80 и R580 оказывается чуть больше, чем в Windows XP. Вероятно, влияет 3D-рендеринг интерфейса в новой операционной системе Microsoft.

Похоже, что аппаратная поддержка декодирования на G80 работает лучше, чем на R580, хотя разница в загрузке CPU и не очень большая, но она есть. Гораздо интереснее ситуация с видеокартой на основе нового чипа Nvidia G84. Если в Windows XP ускорение, похоже, не работает вовсе (загрузка процессора почти, как в случае полностью программного декодирования, а изображение отсутствует), то в Vista он не вырывается вперед, а показывает невиданные ранее результаты. Загрузка CPU в этом случае составляет менее 8%! Видимо, действительно в новые чипы включены мощные выделенные блоки по обработке видеоданных…

Второй ролик формата H.264 отличается от первого тем, что он прогрессивный и не использует интерлейсинг. Посмотрим, будет ли отличаться производительность при использовании разных декодеров и видеокарт в этот раз.

Нагрузка на CPU без необходимости применения деинтерлейсинга снизилась во всех режимах, кроме аппаратно ускоренного на G84 в Windows Vista. Впрочем, 8 или 9% — всё равно небольшая разница, которая могла быть получена в результате погрешностей при тестировании. В этот раз CoreAVC был более эффективен, по сравнению с программным режимом CyberLink, он почти догнал аппаратно ускоренный режим на видеокарте производства AMD.

Декодирование в Vista опять отнимает больше ресурсов CPU, на Nvidia G80 разница заметна больше, видимо, у них недостаточно хорошо отлажены драйверы для новой операционной системы. G84 опять показывает ту же картину — отсутствие аппаратной поддержки декодирования в XP и очень эффективное её использование в Vista. Обратим внимание на еще один ролик, который имеет чуть больший битрейт.

Ситуация практически полностью повторяет предыдущую, только нагрузка на центральный процессор выше во всех режимах. Программное декодирование CoreAVC гораздо более эффективно, чем CyberLink. Geforce 8600 GTS показывает привычный для H.264 результат — всего лишь 8% загрузки CPU, но только в Vista. В разделе, посвященном H.264, нам остаётся рассмотреть результаты, показанные при проигрывании еще одного ролика, имеющего в два раза больший битрейт, по сравнению с предыдущими.

В очередной раз видим почти всё то же самое, CoreAVC чуть более эффективен в программном режиме, Vista чуть более требовательна к производительности CPU, у G84 в новой ОС эталонный результат — около 8% загрузки тестового процессора, зато в Windows XP ускорение не работает вовсе. И у парочки G80 и R580 нет отличий — первый чуть лучше справляется с декодированием.

Подведем краткий итог по декодированию роликов формата H.264 — с большим отрывом побеждает новое mid-end решение Nvidia, хотя и с одной оговоркой — пока ускорение корректно работает только в Windows Vista. Далее с большим отрывом идёт Geforce 8800 GTX, а еще чуть медленнее справляется с задачей решение AMD, основанное на видеочипе прошлого поколения. CoreAVC показывает неплохие результаты, зачастую на уровне режимов с аппаратной поддержкой со стороны R580, а программное декодирование в CyberLink требует слишком больших ресурсов CPU.

Формат MPEG2

Переходим к MPEG2, самому старому и хорошо знакомому формату из присутствующих в наших тестах. Мы не стали использовать ролики в распространенном DVD-разрешении, начали сразу с 1920x1080, усложнив задачу выбором тестового материала с наличием двух полей (интерлейсинга). При декодировании и проигрывании таких форматов от декодеров, прежде всего, требуется качественная и быстрая постобработка — деинтерлейсинг. Посмотрим, как с ней справляются наши испытуемые. В качестве декодеров использовались PowerDVD и PureVideo, первый — и в XP, и в Vista, он был протестирован и в программном режиме.

Этот ролик использует интерлейсинг и отличается довольно большим битрейтом — 18 Мбит/с. По результатам хорошо видно, что MPEG2 является слишком простым форматом для современных центральных процессоров и видеочипов, декодирование такого потока с большим битрейтом и разрешением 1920х1080 не является для них сколько-нибудь серьезной задачей.

Все аппаратно ускоренные режимы показали весьма близкие к друг другу результаты, используя в среднем примерно в два раза меньше ресурсов CPU, по сравнению с программным декодированием при помощи DirectShow фильтра от CyberLink. Интересно, что PureVideo на Nvidia оказывался менее эффективным, по сравнению с CyberLink, а на AMD — наоборот. Возможно, виновата разница в качестве постобработки. Обе видеокарты Nvidia выполняют работу по аппаратной поддержке декодирования несколько эффективнее, чем RADEON X1900 XT. Windows Vista и в этот раз увеличивает нагрузку на CPU во всех режимах, хотя и не так сильно.

Рассмотрим результаты, полученные при тестировании второго MPEG2 ролика, прогрессивного, с самым высоким HD-разрешением и еще большим битрейтом.

Этот ролик не тестировался в Vista, да с ней и так всё понятно, результаты чуть хуже, чем в Windows XP. Становится понятно, что не из-за битрейта ролики требовательны к ресурсам для декодирования, а из-за интерлейсинга. Видимо, как раз эффективный деинтерлейсинг и вызывает больше всего проблем у видеокарт. В этот раз R580 и G80 показали результаты одного уровня, а G84 удалось чуть-чуть вырваться вперед. Но на фоне программного декодирования все показанные результаты идеальны.

Выводы по тестированию MPEG2 роликов просты — цифры показывают, что с производительностью проблем нет, загрузка CPU с полностью программными алгоритмами не превышает 20-30%, а с использованием возможностей современных видеочипов эта цифра смешна — 10-15%.

Видеочипы Nvidia справляются с задачей чуть лучше, независимо от используемого декодера, хотя PureVideo может иметь качественные преимущества, которые в данном материале не исследуются. Оба решения Nvidia, G80 и G84, показывают примерно одинаковую загрузку CPU, а RADEON X1900 XT отстает от них немного. Во всех случаях, включая программное декодирование, производительности используемого в тестах процессора было достаточно для декодирования, деинтерлейсинга и вывода MPEG2 видео на экран.

Формат WMV9

Диаграммы с результатами тестов по декодированию WMV будут проще, так как использовался единственный декодер от Microsoft. Он поставляется в комплекте вместе с Windows Media Player и является наиболее распространенным декодером WMV. И хотя в том же ffdshow есть альтернативный, смысла в его использовании и тестировании немного.

Первый WMV HD ролик имеет не совсем стандартное разрешение 1440x1080, он закодирован со средним битрейтом 8 Мбит/с. Как и в предыдущих случаях, декодирование тестового ролика не требует слишком больших ресурсов, расходуя чуть больше четверти мощностей тестового процессора в полностью программном режиме. Загрузка центрального процессора при проигрывании этого ролика оказалась чуть выше у видеокарты на базе чипа AMD, по сравнению с Geforce 8800, хотя разница весьма небольшая. В данном случае проблем с проигрыванием не наблюдалось, только результат G84 показал, что этот чип пока не поддерживает ускорение WMV в Windows XP.

Посмотрим на другие ролики, следующий имеет больший битрейт и полноценное разрешение 1920x1080. Возможно, на таком материале будут показаны несколько иные результаты.

Итак, самый сложный WMV-ролик с большим битрейтом отнимает у CPU лишь чуть-чуть больше ресурсов. Видно, что результат G84 совпадает с цифрой, полученной при программном декодировании, а G80 ускоряет WMV, примерно в полтора раза снижая нагрузку на CPU.

Видеокарта AMD в данном случае оплошала, при запуске проигрывания этого ролика с включенным аппаратным ускорением плеер Windows Media Player 11 (как и наша тестовая утилита, использующая соответствующий ActiveX компонент) вываливается с ошибкой. Вероятно, в этом виноваты ошибки в драйверах, так как при отключенном DXVA ускорении ролик проигрывается нормально.

Нам остаётся рассмотреть результаты, полученные при тестировании последнего WMV ролика, который имеет средний битрейт 8 Мбит/с и нестандартное разрешение 1440x816 пикселей.

Эти результаты более любопытны. Во всех режимах показана почти одинаковая загрузка центрального процессора. Похоже, что по каким-то странным причинам (нестандартное разрешение?), DXVA ускорение формата WMV9 в данном случае не работает на всех протестированных видеокартах. Больше сказать нечего.

Выводы о формате WMV в целом будут такие — со всеми протестированными роликами наша система отлично справляется в программном режиме, в том числе с 1080p материалом и с высоким битрейтом. Возможно, существуют WMV-видеоданные, требующие больших ресурсов для декодирования, но мы таких не встречали.

Geforce 8800 GTX и RADEON X1900 XT показали близкие результаты, но видеокарта AMD «отличилась» невозможностью проигрывания одного из тестовых роликов, вероятно, это проблема конкретной версии драйверов или сочетания тестовой конфигурации. В остальных случаях она незначительно отставала от Geforce 8800 GTX. Аппаратное ускорение видеоформата WMV на Geforce 8600 GTS в Windows XP пока не работает, ждём обновления драйверов.

Формат VC-1

Формат WVC1, также известный как «Windows Media Video 9 Advanced Profile», соответствует «Advanced Profile» стандарта VC-1. Этот формат поддерживает как прогрессивные видеоданные, так и данные, содержащие два поля. Этот формат гораздо более эффективен по сравнению с WMV, особенно при сжатии видеоданных с двумя полями (interlaced).

К сожалению, нам не удалось найти в свободном доступе ролики в формате VC-1 с разрешением 1920х1080 и большим битрейтом, а использование коммерческих дисков Blu-ray или HD DVD было невозможным из-за отсутствия у нас соответствующего оборудования. Поэтому пришлось ограничиться WVC1 данными в разрешении 1280x720, для тестов были выбраны два ролика с 60 кадрами (не полями) в секунду.

Похоже, что родной декодер от Microsoft или драйверы AMD и Nvidia не могут использовать аппаратное ускорение при проигрывании формата WVC1. Все видеокарты и программное декодирование показывают практически равные результаты. Которые говорят об очень высокой требовательности формата VC-1 в таких условиях: 1280x720 при 60 кадрах в секунду. Представляете, что будет при 1920x1080? К сожалению, у нас нет такого ролика, но посмотрим на цифры, полученные при проигрывании второго:

Так и есть, цифры опять весьма близки, соответственно, и вывод о WVC1 формате сделать несложно — на данный момент нет возможности аппаратного ускорения этого формата в контейнере WMV. Возможно, декодер от CyberLink умеет использовать аппаратное ускорение таких данных с HD-DVD и Blu-ray дисков, но по указанным выше причинам мы их не тестировали.

Выводы

После проведенных тестов аппаратного ускорения декодирования разных форматов видео, можно уверенно сказать, что современные видеокарты способны успешно ускорять воспроизведение видео в большинстве форматов, в том числе высокого разрешения и битрейта, не говоря о старых данных вроде DVD. Современный уровень программной и аппаратной поддержки позволяет декодировать любой формат с разрешением 1920х1080 без каких-либо проблем с производительностью.

Общий вывод — тестовая система смогла справиться с проигрыванием всех роликов, но не все декодеры и видеокарты показывают равные результаты. Так, при декодировании файлов формата H.264, декодер CoreAVC в некоторых случаях составляет успешную конкуренцию аппаратно ускоренному решению CyberLink. Зато последний поддерживает аппаратное ускорение, особенно эффективное на видеокарте Geforce 8600 GTS в Windows Vista. MPEG2 декодеры показали близкие результаты — и CyberLink и PureVideo обеспечивает эффективное аппаратно ускоренное проигрывание MPEG2 роликов.

Тестовый двухъядерный процессор в программном режиме прекрасно справился с воспроизведением всех видеороликов самых распространенных форматов, разных разрешений и битрейтов, потратив на их воспроизведение чуть больше половины мощностей в пиковом случае. Получается, что сравнение видеокарт по производительности и трате ресурсов на декодирование видео имеет мало практического смысла, разве что в случае устаревших CPU или при задаче снижения энергопотребления системы, например, медиацентра. Аппаратно ускоренные режимы показывают значительное снижение нагрузки на центральный процессор, видеокарта на основе чипа Nvidia G84 особенно хорошо справляется с проигрыванием H.264 формата (пока только в Vista), а Geforce 8800 GTX в среднем чуть-чуть опережает решение AMD предыдущего поколения — RADEON X1900 XT.

Выводы о качестве будут очень краткими. Специального исследования по этому вопросу в рамках материала не проводилось, но на RADEON X1900 XT возникли определенные проблемы. Так, при попытке проигрывания ролика MP10_Striker_10mbps.wmv с включенным DXVA-ускорением, в Windows Media Player 11 возникает ошибка приложения wmplayer.exe, после которой проигрывание ролика невозможно. Также в тестах планировалось использование MPEG2 ролика mallard.m2t с большим битрейтом, с которым у решения AMD также возникли проблемы — вместо картинки на экране было видно несколько разноцветных полос. При отключенном DXVA ускорении оба ролика проигрываются нормально, что говорит о возможных проблемах с используемой версией драйверов AMD.





Дополнительно

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

Практическое тестирование видеокарт AMD и Nvidia в задачах декодирования видеоданных:
Июнь 2007 года


Прошло немало времени с выпуска нашего предыдущего исследования производительности и качества декодирования видео на картах ATI и Nvidia. С тех пор компания ATI была куплена AMD, обеими компаниями выпущены новые видеокарты с заявленной улучшенной поддержкой видеодекодирования. Программная поддержка аппаратного декодирования в драйверах постоянно развивается, ситуация с производительностью и качеством может меняться раз в несколько месяцев. Мы в очередной раз решили проверить на практике, насколько хорошо видеочипы AMD и Nvidia справляются с задачами декомпрессии и вывода видеоданных.

Воспроизведение видео высокого разрешения, сжатого при помощи современных форматов сжатия, таких, как H.264, WMV и VC-1, да ещё с большим битрейтом, достаточно требовательно к мощности системы. При проигрывании видеоданных любых форматов в невысоких разрешениях проблем с производительностью не возникает, но некоторые новые центральные процессоры с трудом справляются с программным декодированием современных форматов в высоких разрешениях (1920x1080) при больших битрейтах. До недавних пор основная нагрузка ложилась на CPU, но современные видеокарты берут на себя выполнение всё большей части вычислений по декодированию и постобработке видео. Современные видеочипы AMD и Nvidia содержат специальные выделенные блоки, используемые для задач ускорения декодирования и постобработки, самые последние решения разгружают CPU почти полностью, одна из таких видеокарт участвует в наших тестах.

Для поддержки технологии аппаратной поддержки воспроизведения, DirectX Video Acceleration (DXVA), требуются специальные декодеры (например, Nvidia PureVideo Decoder, CyberLink MPEG2 и H.264 video decoder), и проигрыватели с поддержкой DXVA. На данный момент существуют DXVA-декодеры для аппаратного ускорения MPEG2, WMV, VC-1 и H.264, которыми мы и воспользуемся.

У разных видеочипов уровень поддержки аппаратного ускорения декодирования видео разный, он зависит от модели карты и установленного чипа. Ранее, некоторые low-end решения были ограничены в поддержке декодирования видео высоких разрешений, но складывается обратная ситуация — что у AMD, что у Nvidia. Верхние чипы линеек, R600 и G80, не поддерживают всех возможностей, которыми обладают решения среднего и низшего ценовых диапазонов. В данном обзоре мы рассмотрим на практике сравнительную производительность декодирования и вывода видеоданных разных форматов, начиная с MPEG2 и заканчивая VC-1, на трех разных видеокартах.

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

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

  • Процессор: AMD Athlon 64 X2 4600+ 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/Microsoft Windows Vista Home Premium

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

Использовались последние, доступные на момент написания версии драйверов: AMD CATALYST 7.4 для обеих версий операционных систем в случае карты AMD, и ForceWare 158.22 и 158.43 для Windows XP и Windows Vista в случае плат на чипах Nvidia. Тестирование в Vista стало необходимым из-за того, что возможности по аппаратному декодированию чипа G84, применяемого в Geforce 8600 GTS, на данный момент доступны только в этой операционной системе.

К сожалению, на момент проведения тестов у нас не было возможности протестировать и новые видеокарты AMD на чипах их последней линейки — из серии RADEON HD 2000. Хотя, как оказалось по данным наших коллег, RADEON HD 2900 XT не поддерживает всех заявленных возможностей и не слишком отличается от предыдущих решений компании в плане аппаратной поддержки воспроизведения видеоданных. А плат на основе чипов RV610 и RV630 в нашей лаборатории пока нет.

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

  • Microsoft Windows Media Player 11.0.5358.4827 (с соответствующим декодером Windows Media Video Decoder 11.0.5358.4827 в комплекте)
  • CyberLink PowerDVD 7.3 Ultra Build 2907 (с декодерами CyberLink 264 Decoder Filter 2.0.1626 и CyberLink Video/SP Filter 8.0.1626)
  • Nvidia PureVideo Decoder 1.02.223 (Nvidia Video Decoder 04.02-223)
  • CoreAVC DirectShow Video Decoder 1.3.0.0

В качестве основных декодеров для MPEG2 и H.264 были выбраны решения производства CyberLink из состава PowerDVD 7.3 Ultra, так как этот продукт является одним из наиболее распространенных проигрывателей, вместе с WinDVD и Windows Media Player, а также поддерживает аппаратное ускорение на всех видеокартах, в том числе самых новейших — Geforce 8600 GTS. В настройках PowerDVD и соответствующего декодера включалось аппаратное ускорение («Enable hardware acceleration» и «Use DXVA»), в AMD CATALYST Control Center был включен пункт «Pulldown Detection», в панели управления Nvidia ForceWare — «Use inverse telecine», остальное оставлено по-умолчанию. Основные настройки производительности Windows Media Player 11, использованные при тестировании, приведены на скриншоте:

«High quality mode» в настройках WMP отвечает за использование Video Mixing Renderer 9 (VMR9), тестирование производительности проводилось в разрешении 1920x1080 пикселей. Для декодирования WMV и VC-1 видео использовался декодер Windows Media Video Decoder, для H.264 — CyberLink 264 Decoder Filter и CoreAVC DirectShow Video Decoder, а для MPEG2 — Nvidia Video Decoder и CyberLink Video/SP Filter.

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

Видеофайл Формат Разрешение, пикс HD формат Частота кадров, FPS Битрейт, Мбит/с
20070111_1659.TS H.264 1920x1080 1080i 24 8
biohazard2_1080p.mp4 H.264 1920x1080 1080p 24 8
cornell_m1080p.mov.mp4 H.264 1920x1080 1080p 30 9
WG30secSpot_AVC_HDTV.mp4 H.264 1920x1080 1080p 30 16
MPEG2_24Mbps_final.mkv MPEG2 1920x1080 1080p 25 24
emotion.mpg MPEG2 1920x1080 1080i 30 18
Dolphins_1080.wmv WMV9 1440x1080 1080p 24 8
MP10_Striker_10mbps.wmv WMV9 1920x1080 1080p 24 10
Taxi3_WMVHD_Extract.wmv WMV9 1440x816 - 24 8
FlightSimX_720p60_51_15Mbps.wmv VC-1 1280x720 720p 60 15
gthd_demo_replay_720p.wmv VC-1 1280x720 720p 60 5

В состав тестового материала вошли ролики всех востребованных видеоформатов, в двух распространенных разрешениях: 1280x720 и 1920x1080, и пара нестандартных. От роликов с меньшим разрешением было решено отказаться полностью, так как, если исключить некоторые вопросы качества, связанные с применением адаптивного деинтерлейсинга для MPEG2, проблем с проигрыванием такого контента сейчас нет.

Тесты проводились в разрешении 1920x1080 при помощи специальной утилиты с использованием ActiveX компоненты Windows Media Player 11, позволяющей замерять использование ресурсов процессора во время проигрывания, а также получать другую статистику WMP11. Замерялась средняя загрузка центрального процессора системы при проигрывании каждого из роликов. Проводился также сбор таких значений, как количество пропущенных кадров в секунду и достигнутая при проигрывании частота кадров, но эти значения на разных сочетаниях роликов и декодеров получаются некорректными, и их применение затруднено. А средняя доля загрузки CPU принята для определения скоростных характеристик аппаратной поддержки декодирования видео решениями AMD и Nvidia.

Следует помнить, что во время любых тестов работают несколько фоновых процессов, системных и других. Поэтому нужно учитывать возможность небольших колебаний результатов загрузки CPU и соответствующую погрешность измерения. Иными словами, разница до 3% не говорит о преимуществе того или иного решения, так как может являться следствием погрешности измерения.

Проблемы тестирования видеодекодирования

Подобные тесты проводить непросто, особенно это относится к сравнительно новым видеоформатам. Аппаратное ускорение работает не всегда идеально, не со всеми декодерами и типами видеоданных. Так, изначально сразу несколько производителей плееров и декодеров H.264 объявили о поддержке ускорения в решениях. На деле это были, скорее, рекламные заявления, и ускорение H.264 или не работало вовсе или работало кое-как.

Например, в своё время на рынке появилась версия PowerDVD 7.0 с поддержкой декодирования H.264, но не работающим аппаратным ускорением, версия того декодера была 1.6.0.1528. При использовании этого декодера ускорение включается, но на деле не работает. И в нашем прошлом тестировании, к сожалению, использовалась именно эта версия, поэтому и результаты тогда получились некорректные.

Кроме того, на разных моделях видеокарт одной и той же компании ускорение может работать, а может не работать. Особенно это относится к low-end и mid-end решениям прошлых поколений, таких как Geforce 6600 и RADEON X1300. Бывали случаи, когда при выполнении одинаковой последовательности действий, ускорение включалось на одной карте, но не включалось на другой. Это ещё не все проблемы аппаратного декодирования, так, H.264 декодер CyberLink в DXVA ускоренном режиме всегда отключает деблокинг (удаление артефактов блочности изображения), что хорошо заметно на плавных цветовых переходах. и стоит отметить, что некоторые версии декодеров могли работать в аппаратно ускоренном режиме на видеокартах одного производителя, и не работать на видеокартах другого, в зависимости от версий драйверов.

Но это ещё не всё. Ведь видеоданные бывают разными: записанными на диски, в виде файлов, потокового видео, передающегося в транспортном потоке со спутников. Для работы с разными форматами существует множество плееров, и универсальные декодеры должны уметь работать в различных программах, предназначенных для проигрывания разных типов видео. Но некоторые распространенные декодеры (например, Nero Video Decoder) работают только в плеерах, что лишает их применение смысла и делает невозможным использование в нашем тесте. Из универсальных H.264 декодеров можно отметить три распространенных: ffdshow, CoreAVC и CyberLink, все они могут работать в большинстве плееров и с большим количеством разнообразных типов видео. Аппаратное ускорение из этой тройки поддерживает лишь CyberLink, CoreAVC является самым быстрым программным декодером, а ffdshow бесплатен и весьма широко распространен.

Еще одна трудность тестирования проигрывания видео высокого разрешения в слабой распространенности соответствующих оптических приводов и дисков. Так, в наших условиях отсутствует возможность тестирования Blu-ray и HD-DVD дисков, да еще с выводом изображения на HD-монитор с поддержкой HDCP. Поэтому, пока мы решили ограничиться тестами видеороликов разных форматов и битрейтов, которые вполне отражают нагрузку на CPU и GPU при воспроизведении указанных выше дисков, кроме, разве что, формата VC-1.

В прошлом обзоре, помимо производительности решений с поддержкой технологий Avivo и PureVideo, мы затрагивали и вопросы качества изображения. На примере большинства протестированных форматов мы увидели, что заметных проблем качества нет. Например, декодеры H.264 обеспечивают идентичное качество, отличия могут быть лишь в настройках яркости, насыщенности, контрастности и отсутствии деблокинга в режиме аппаратного ускорения.

По наиболее проблемному, с точки зрения качества, формату MPEG2 планировалось исследование в специальном тесте HQV, разработанном компанией Silicon Optix и предназначенном для анализа качества декодирования MPEG2 данных. Один из больших недостатков этого теста — субъективность оценки, так как она возлагается на тестера, который должен определить качество изображения в каждом из подтестов, сравнивая полученную картинку с эталоном.

Но самым большим недостатком теста, на наш взгляд, является то, что оба производителя GPU оптимизировали драйверы под него и сейчас показывают весьма близкие результаты, едва не дотягивающие до максимально возможных. Разница в количестве очков, заработанных последними решениями AMD и Nvidia, в этом тесте весьма небольшая, смысла в подобном исследовании качества очень мало. Но, в любом случае, можно твердо сказать, что решения AMD и Nvidia с аппаратной поддержкой декодирования MPEG2 обеспечивают значительно лучшее качество изображения, по сравнению с чисто программным декодированием.

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

Переходим к главному — тестам производительности. Проигрывание MPEG2 данных в низких разрешениях давно не представляет серьезных проблем для современных систем с мощными CPU и поддержкой со стороны GPU, декодирование таких данных загружает центральный процессор от силы на 5-10%. Именно поэтому в данном исследовании основное внимание было уделено современным форматам: H.264, WMV9, VC-1, а MPEG2 был представлен исключительно в виде роликов высокого разрешения и большого битрейта.

Тестирование мы начинаем с интересного для нас формата — H.264. Системы тестировались с применением двух декодеров — полностью программного CoreAVC Pro, в котором нет поддержки аппаратного ускорения видеочипами, и поддерживающем DXVA ускорение CyberLink 264 Decoder Filter из комплекта PowerDVD 7.3 Ultra. Для сравнения приведена и цифра загрузки процессора при работе программного декодера H.264 от того CyberLink. Тесты с аппаратным ускорением проводились отдельно для Windows XP и Vista.

Формат H.264

Первые полученные результаты показывают, что программное декодирование формата H.264 в высоком разрешении задействует серьезные мощности не самого слабого двухъядерного процессора. Конечно, рывков и пропуска кадров нет, но загрузка двух ядер более чем на 50% — это серьезно. Программный CoreAVC чуть быстрее CyberLink в таких условиях, но разница не слишком велика. Декодер CyberLink отлично работает на всех видеокартах, загрузка процессора в Vista на G80 и R580 оказывается чуть больше, чем в Windows XP. Вероятно, влияет 3D-рендеринг интерфейса в новой операционной системе Microsoft.

Похоже, что аппаратная поддержка декодирования на G80 работает лучше, чем на R580, хотя разница в загрузке CPU и не очень большая, но она есть. Гораздо интереснее ситуация с видеокартой на основе нового чипа Nvidia G84. Если в Windows XP ускорение, похоже, не работает вовсе (загрузка процессора почти, как в случае полностью программного декодирования, а изображение отсутствует), то в Vista он не вырывается вперед, а показывает невиданные ранее результаты. Загрузка CPU в этом случае составляет менее 8%! Видимо, действительно в новые чипы включены мощные выделенные блоки по обработке видеоданных…

Второй ролик формата H.264 отличается от первого тем, что он прогрессивный и не использует интерлейсинг. Посмотрим, будет ли отличаться производительность при использовании разных декодеров и видеокарт в этот раз.

Нагрузка на CPU без необходимости применения деинтерлейсинга снизилась во всех режимах, кроме аппаратно ускоренного на G84 в Windows Vista. Впрочем, 8 или 9% — всё равно небольшая разница, которая могла быть получена в результате погрешностей при тестировании. В этот раз CoreAVC был более эффективен, по сравнению с программным режимом CyberLink, он почти догнал аппаратно ускоренный режим на видеокарте производства AMD.

Декодирование в Vista опять отнимает больше ресурсов CPU, на Nvidia G80 разница заметна больше, видимо, у них недостаточно хорошо отлажены драйверы для новой операционной системы. G84 опять показывает ту же картину — отсутствие аппаратной поддержки декодирования в XP и очень эффективное её использование в Vista. Обратим внимание на еще один ролик, который имеет чуть больший битрейт.

Ситуация практически полностью повторяет предыдущую, только нагрузка на центральный процессор выше во всех режимах. Программное декодирование CoreAVC гораздо более эффективно, чем CyberLink. Geforce 8600 GTS показывает привычный для H.264 результат — всего лишь 8% загрузки CPU, но только в Vista. В разделе, посвященном H.264, нам остаётся рассмотреть результаты, показанные при проигрывании еще одного ролика, имеющего в два раза больший битрейт, по сравнению с предыдущими.

В очередной раз видим почти всё то же самое, CoreAVC чуть более эффективен в программном режиме, Vista чуть более требовательна к производительности CPU, у G84 в новой ОС эталонный результат — около 8% загрузки тестового процессора, зато в Windows XP ускорение не работает вовсе. И у парочки G80 и R580 нет отличий — первый чуть лучше справляется с декодированием.

Подведем краткий итог по декодированию роликов формата H.264 — с большим отрывом побеждает новое mid-end решение Nvidia, хотя и с одной оговоркой — пока ускорение корректно работает только в Windows Vista. Далее с большим отрывом идёт Geforce 8800 GTX, а еще чуть медленнее справляется с задачей решение AMD, основанное на видеочипе прошлого поколения. CoreAVC показывает неплохие результаты, зачастую на уровне режимов с аппаратной поддержкой со стороны R580, а программное декодирование в CyberLink требует слишком больших ресурсов CPU.

Формат MPEG2

Переходим к MPEG2, самому старому и хорошо знакомому формату из присутствующих в наших тестах. Мы не стали использовать ролики в распространенном DVD-разрешении, начали сразу с 1920x1080, усложнив задачу выбором тестового материала с наличием двух полей (интерлейсинга). При декодировании и проигрывании таких форматов от декодеров, прежде всего, требуется качественная и быстрая постобработка — деинтерлейсинг. Посмотрим, как с ней справляются наши испытуемые. В качестве декодеров использовались PowerDVD и PureVideo, первый — и в XP, и в Vista, он был протестирован и в программном режиме.

Этот ролик использует интерлейсинг и отличается довольно большим битрейтом — 18 Мбит/с. По результатам хорошо видно, что MPEG2 является слишком простым форматом для современных центральных процессоров и видеочипов, декодирование такого потока с большим битрейтом и разрешением 1920х1080 не является для них сколько-нибудь серьезной задачей.

Все аппаратно ускоренные режимы показали весьма близкие к друг другу результаты, используя в среднем примерно в два раза меньше ресурсов CPU, по сравнению с программным декодированием при помощи DirectShow фильтра от CyberLink. Интересно, что PureVideo на Nvidia оказывался менее эффективным, по сравнению с CyberLink, а на AMD — наоборот. Возможно, виновата разница в качестве постобработки. Обе видеокарты Nvidia выполняют работу по аппаратной поддержке декодирования несколько эффективнее, чем RADEON X1900 XT. Windows Vista и в этот раз увеличивает нагрузку на CPU во всех режимах, хотя и не так сильно.

Рассмотрим результаты, полученные при тестировании второго MPEG2 ролика, прогрессивного, с самым высоким HD-разрешением и еще большим битрейтом.

Этот ролик не тестировался в Vista, да с ней и так всё понятно, результаты чуть хуже, чем в Windows XP. Становится понятно, что не из-за битрейта ролики требовательны к ресурсам для декодирования, а из-за интерлейсинга. Видимо, как раз эффективный деинтерлейсинг и вызывает больше всего проблем у видеокарт. В этот раз R580 и G80 показали результаты одного уровня, а G84 удалось чуть-чуть вырваться вперед. Но на фоне программного декодирования все показанные результаты идеальны.

Выводы по тестированию MPEG2 роликов просты — цифры показывают, что с производительностью проблем нет, загрузка CPU с полностью программными алгоритмами не превышает 20-30%, а с использованием возможностей современных видеочипов эта цифра смешна — 10-15%.

Видеочипы Nvidia справляются с задачей чуть лучше, независимо от используемого декодера, хотя PureVideo может иметь качественные преимущества, которые в данном материале не исследуются. Оба решения Nvidia, G80 и G84, показывают примерно одинаковую загрузку CPU, а RADEON X1900 XT отстает от них немного. Во всех случаях, включая программное декодирование, производительности используемого в тестах процессора было достаточно для декодирования, деинтерлейсинга и вывода MPEG2 видео на экран.

Формат WMV9

Диаграммы с результатами тестов по декодированию WMV будут проще, так как использовался единственный декодер от Microsoft. Он поставляется в комплекте вместе с Windows Media Player и является наиболее распространенным декодером WMV. И хотя в том же ffdshow есть альтернативный, смысла в его использовании и тестировании немного.

Первый WMV HD ролик имеет не совсем стандартное разрешение 1440x1080, он закодирован со средним битрейтом 8 Мбит/с. Как и в предыдущих случаях, декодирование тестового ролика не требует слишком больших ресурсов, расходуя чуть больше четверти мощностей тестового процессора в полностью программном режиме. Загрузка центрального процессора при проигрывании этого ролика оказалась чуть выше у видеокарты на базе чипа AMD, по сравнению с Geforce 8800, хотя разница весьма небольшая. В данном случае проблем с проигрыванием не наблюдалось, только результат G84 показал, что этот чип пока не поддерживает ускорение WMV в Windows XP.

Посмотрим на другие ролики, следующий имеет больший битрейт и полноценное разрешение 1920x1080. Возможно, на таком материале будут показаны несколько иные результаты.

Итак, самый сложный WMV-ролик с большим битрейтом отнимает у CPU лишь чуть-чуть больше ресурсов. Видно, что результат G84 совпадает с цифрой, полученной при программном декодировании, а G80 ускоряет WMV, примерно в полтора раза снижая нагрузку на CPU.

Видеокарта AMD в данном случае оплошала, при запуске проигрывания этого ролика с включенным аппаратным ускорением плеер Windows Media Player 11 (как и наша тестовая утилита, использующая соответствующий ActiveX компонент) вываливается с ошибкой. Вероятно, в этом виноваты ошибки в драйверах, так как при отключенном DXVA ускорении ролик проигрывается нормально.

Нам остаётся рассмотреть результаты, полученные при тестировании последнего WMV ролика, который имеет средний битрейт 8 Мбит/с и нестандартное разрешение 1440x816 пикселей.

Эти результаты более любопытны. Во всех режимах показана почти одинаковая загрузка центрального процессора. Похоже, что по каким-то странным причинам (нестандартное разрешение?), DXVA ускорение формата WMV9 в данном случае не работает на всех протестированных видеокартах. Больше сказать нечего.

Выводы о формате WMV в целом будут такие — со всеми протестированными роликами наша система отлично справляется в программном режиме, в том числе с 1080p материалом и с высоким битрейтом. Возможно, существуют WMV-видеоданные, требующие больших ресурсов для декодирования, но мы таких не встречали.

Geforce 8800 GTX и RADEON X1900 XT показали близкие результаты, но видеокарта AMD «отличилась» невозможностью проигрывания одного из тестовых роликов, вероятно, это проблема конкретной версии драйверов или сочетания тестовой конфигурации. В остальных случаях она незначительно отставала от Geforce 8800 GTX. Аппаратное ускорение видеоформата WMV на Geforce 8600 GTS в Windows XP пока не работает, ждём обновления драйверов.

Формат VC-1

Формат WVC1, также известный как «Windows Media Video 9 Advanced Profile», соответствует «Advanced Profile» стандарта VC-1. Этот формат поддерживает как прогрессивные видеоданные, так и данные, содержащие два поля. Этот формат гораздо более эффективен по сравнению с WMV, особенно при сжатии видеоданных с двумя полями (interlaced).

К сожалению, нам не удалось найти в свободном доступе ролики в формате VC-1 с разрешением 1920х1080 и большим битрейтом, а использование коммерческих дисков Blu-ray или HD DVD было невозможным из-за отсутствия у нас соответствующего оборудования. Поэтому пришлось ограничиться WVC1 данными в разрешении 1280x720, для тестов были выбраны два ролика с 60 кадрами (не полями) в секунду.

Похоже, что родной декодер от Microsoft или драйверы AMD и Nvidia не могут использовать аппаратное ускорение при проигрывании формата WVC1. Все видеокарты и программное декодирование показывают практически равные результаты. Которые говорят об очень высокой требовательности формата VC-1 в таких условиях: 1280x720 при 60 кадрах в секунду. Представляете, что будет при 1920x1080? К сожалению, у нас нет такого ролика, но посмотрим на цифры, полученные при проигрывании второго:

Так и есть, цифры опять весьма близки, соответственно, и вывод о WVC1 формате сделать несложно — на данный момент нет возможности аппаратного ускорения этого формата в контейнере WMV. Возможно, декодер от CyberLink умеет использовать аппаратное ускорение таких данных с HD-DVD и Blu-ray дисков, но по указанным выше причинам мы их не тестировали.

Выводы

После проведенных тестов аппаратного ускорения декодирования разных форматов видео, можно уверенно сказать, что современные видеокарты способны успешно ускорять воспроизведение видео в большинстве форматов, в том числе высокого разрешения и битрейта, не говоря о старых данных вроде DVD. Современный уровень программной и аппаратной поддержки позволяет декодировать любой формат с разрешением 1920х1080 без каких-либо проблем с производительностью.

Общий вывод — тестовая система смогла справиться с проигрыванием всех роликов, но не все декодеры и видеокарты показывают равные результаты. Так, при декодировании файлов формата H.264, декодер CoreAVC в некоторых случаях составляет успешную конкуренцию аппаратно ускоренному решению CyberLink. Зато последний поддерживает аппаратное ускорение, особенно эффективное на видеокарте Geforce 8600 GTS в Windows Vista. MPEG2 декодеры показали близкие результаты — и CyberLink и PureVideo обеспечивает эффективное аппаратно ускоренное проигрывание MPEG2 роликов.

Тестовый двухъядерный процессор в программном режиме прекрасно справился с воспроизведением всех видеороликов самых распространенных форматов, разных разрешений и битрейтов, потратив на их воспроизведение чуть больше половины мощностей в пиковом случае. Получается, что сравнение видеокарт по производительности и трате ресурсов на декодирование видео имеет мало практического смысла, разве что в случае устаревших CPU или при задаче снижения энергопотребления системы, например, медиацентра. Аппаратно ускоренные режимы показывают значительное снижение нагрузки на центральный процессор, видеокарта на основе чипа Nvidia G84 особенно хорошо справляется с проигрыванием H.264 формата (пока только в Vista), а Geforce 8800 GTX в среднем чуть-чуть опережает решение AMD предыдущего поколения — RADEON X1900 XT.

Выводы о качестве будут очень краткими. Специального исследования по этому вопросу в рамках материала не проводилось, но на RADEON X1900 XT возникли определенные проблемы. Так, при попытке проигрывания ролика MP10_Striker_10mbps.wmv с включенным DXVA-ускорением, в Windows Media Player 11 возникает ошибка приложения wmplayer.exe, после которой проигрывание ролика невозможно. Также в тестах планировалось использование MPEG2 ролика mallard.m2t с большим битрейтом, с которым у решения AMD также возникли проблемы — вместо картинки на экране было видно несколько разноцветных полос. При отключенном DXVA ускорении оба ролика проигрываются нормально, что говорит о возможных проблемах с используемой версией драйверов AMD.