Как мы и обещали, «первая серия», посвященная кодированию аудио, теперь дополняется результатами еще одного большого тестового прогона, посвященного кодированию видео. Как и в предыдущем материале, для тестирования использовался наш собственный интегрированный тестовый пакет, базирующийся на открытой методике тестирования скорости компрессии видеофайлов в форматы DivX, XviD, WMV9, MPEG1 и MPEG2. Надеемся, что этот большой сводный материал будет полезным для тех, кто часто занимается кодированием видео и хочет знать, какая система будет являться оптимальным выбором применительно к его задачам.
Конфигурации стендов и ПО
Тестовый стенд
- Процессоры:
- AMD Athlon 64 FX-51 (2200 МГц)
- AMD Athlon 64 3200+ (2000 МГц)
- AMD Athlon XP 3200+ (2200 МГц, ядро «Barton»)
- AMD Athlon XP 2500+ (1833 МГц, ядро «Barton»)
- AMD Athlon XP 2200+ (1800 МГц, ядро «Thorton»)
- AMD Duron 1400 МГц
- Intel Pentium 4 3,2 ГГц
- Intel Pentium 4 2,4С ГГц (Hyper-Threading, 800 МГц FSB)
- Intel Pentium 4 2,4 ГГц (533 МГц FSB)
- Intel Pentium 4 2,0 ГГц
- Intel Celeron 2,4 ГГц
- Intel Celeron 2,2 ГГц
- Intel Celeron 2,0 ГГц
- Материнские платы:
- Gigabyte K8NNXP-940 (версия BIOS F3) на чипсете NVIDIA nForce3 Pro 150
- ASUS P4C800 Deluxe (версия BIOS 1014) на чипсете Intel 875P
- ABIT KV8-MAX3 (версия BIOS 17) на чипсете VIA K8T800
- Память:
- 2x512 МБ PC3200 DDR SDRAM DIMM TwinMOS
- 2x512 МБ PC3200 Registered DDR SDRAM DIMM Corsair (для Athlon FX)
- Видеокарта: Manli ATI Radeon 9800Pro 256 МБ
- Жесткий диск: Western Digital WD360 (SATA), 10000 об/мин
Результаты тестов
Перед тем, как перейти к рассмотрению результатов, сделаем одну существенную оговорку: они были получены [сравнительно] давно (еще в прошлом году), поэтому использовалась не самая свежая версия тестового пакета. В связи с этим не представляется возможным включить в статью недавно уже рассмотренные нами показатели Athlon 64 3400+ и Pentium 4 3.2 ГГц EE — они тестировались уже с новой версией пакета, и, как показало внутреннее тестирование, полученные в нем результаты несколько отличаются по абсолютным показателям. Впрочем, в рамках данного материала это не имеет значения т.к. для всех процессоров использовалась одна и та же версия нашего теста.
«Рипперские» тесты
DivX 5.1.1 Pro
Явно видимое преимущество процессоров на ядре NetBurst (Pentium 4 и Celeron). Влияние большого кэша наблюдается (сравните результаты Celeron 2.0 ГГц и Pentium 4 с аналогичной частотой), но с увеличением частоты, оно, как ни странно, становится меньше (опять-таки, сравните разницу между Pentium 4 / Celeron 2.0 ГГц и Pentium 4 / Celeron 2.4 ГГц). Впрочем, в любом случае, помогает большой L2-кэш только «в рамках одной платформы», т.е. не позволяет перешагнуть порог предпочтений кодека относительно процессорного ядра: Athlon XP 2500+ все равно проигрывает Celeron 2.4 ГГц, несмотря на то, что у последнего L2 значительно меньше. Однако, с другой стороны, если сравнивать новую и старую платформу AMD (Athlon XP и Athlon 64) — то тут новая выигрывает, можно предположить, именно за счет увеличенного вдвое L2. Duron в этом тесте отстает значительно, что нетрудно объяснить исходя из вышесказанного — у него и кэш маленький, и частота небольшая. В целом, мы бы сказали так: процессоры Intel определенной частоты в кодировании DivX являются более быстрыми, чем «однорейтинговые» им CPU от AMD. Причем именно все процессоры Intel — включая Celeron.
XviD 1.0 beta 2 (Koepi)
Несмотря на то, что для Pentium 4 и Celeron мы запрещали использование MMX-оптимизации, кардинальным образом это картину не изменило — данная версия XviD стабильно оказывает предпочтение архитектуре AMD K7/K8. Как и в тестировании на кодирование аудио, один только Pentium 4 3.2 ГГц сиротливо присутствует в верхних строках таблицы, умудрившись обогнать Duron 1400 МГц. Влияние объема кэша второго уровня просматривается только на платформе Intel, но даже тут его значительным назвать нельзя. В целом, мы бы сказали так: прирост производительности Pentium 4 по отношению к Celeron одинаковой частоты явно меньше, чем разница в их цене.
Windows Media Video 9 VCM
Достаточно сложная и многоплановая картина, поэтому разобьем рассмотрение результатов на маленькие кусочки, и будем их комментировать отдельно. Начнем же традиционно со сравнения платформ. Ситуация вырисовывается примерно такая: процессоры на ядре NetBurst первого поколения (без Hyper-Threading) — однозначно наихудший выбор. Причем как Pentium 4, так и Celeron. У них уверенно выигрывают однорейтинговые Athlon XP, и даже Duron. Соответственно, ядро K7 занимает в данном случае вторую позицию снизу. Обогнать Athlon XP и Duron удалось Pentium 4 2.4C ГГц и Pentium 4 3.2 ГГц т.е. CPU от Intel с поддержкой виртуальной многопроцессорности (Hyper-Threading). Однако первое место все равно занимает Athlon 64 FX — судя по всему, за счет комбинации архитектуры (ядро K8) и двухканального контроллера памяти. С ним не смог соперничать даже Pentium 4 3.2 ГГц. Влияние объема кэш-памяти практически не прослеживается, как в случае с процессорами Intel, так и у Athlon XP / Athlon 64. Соответственно, пользуясь методом исключения, нам остается предположить, что работающий на меньшей частоте Athlon 64 3200+ выиграл у Athlon XP 3200+ за счет наличия поддержки SSE2.
MPEG1 (с помощью Mainconcept MPEG Encoder)
Как мы уже выяснили ранее, поддержка Hyper-Threading процессорам Intel при кодировании MPEG1 в данном приложении мешает, а не помогает. Однако было бы наивно предполагать, что пользователи каждый раз перед кодированием станут из-за предпочтений одной программы перезагружать компьютер и выключать Hyper-Threading в BIOS Setup, поэтому мы тестировали процессоры Intel в режиме «as is»: те из них, которые поддерживают виртуальную многопроцессорность, тестировались с включенной Hyper-Threading, те кто не поддерживают — соответственно. Именно поэтому вы наблюдаете выигрыш старого Pentium 4 2.4 ГГц у нового Pentium 4 2.4C. Более того — за счет «торможения с Hyper-Threading», последний умудрился проиграть даже Celeron 2.4 ГГц! Что, впрочем, косвенно свидетельствует о другой особенности данного подтеста — объем кэш-памяти второго уровня для него довольно мало критичен. Это видно и по результатам других процессоров всех архитектур. Опять-таки, именно из-за Hyper-Threading, Athlon 64 3200+ выигрывает у Pentium 4 3.2 ГГц (небольшое внутреннее тестирование показало, что если ее поддержку выключить, их результаты практически идентичны). Однако безусловным чемпионом все равно является Athlon 64 FX-51. В целом же картина довольно разношерстная, нельзя сходу сказать, какая архитектура показала лучший результат.
«Режиссерские» тесты
Mainconcept MPEG Encoder / MPEG2
Здесь все наоборот — для кодирования в MPEG2 виртуальная многопроцессорность используется данной программой вполне корректно, за счет чего поддерживающие ее процессоры Intel получают серьезный бонус. Это можно заметить, сравнив результаты Pentium 4 2.4C и обычного, без поддержки Hyper-Threading. К слову о пропускной способности шины: если последнее не обозначено нами явно, подразумевается, что скорость работы с ОЗУ практически не влияет на быстродействие в тесте, и, таким образом, сопоставление Pentium 4 2.4C и «первой версии» Pentium 4 2.4, сводится к сопоставлению производительности процессора с поддержкой Hyper-Threading, и без нее. Также легко заметить, что большой чувствительности к объему кэша не обнаруживается, хотя некоторая разница между процессорами с большим и маленьким L2 и присутствует. Однако основной «прокол» Celeron’ов связан явно не с кэшем, а опять-таки с отсутствием Hyper-Threading. Посмотрите — Celeron 2.0 не так уж и много проигрывает Pentium 4 2.0, и при сопоставлении Celeron 2.4 ГГц и Pentium 4 с аналогичной частотой без Hyper-Threading ситуация такая же. А вот Pentium 4 2.4C уже уходит в отрыв, и явно не за счет большого кэша… Процессоры AMD в этом подтесте выглядят несколько вяло — фактически, флагманы платформы в лице Athlon XP 3200+ и Athlon 64 FX-51 идут почти наравне с Pentium 4 2.4C, и очень существенно проигрывают Pentium 4 3.2 ГГц. Однако гораздо печальнее для AMD даже не проигрыш топовых CPU, а то, что Athlon XP 2500+ оказывается эквивалентен… Celeron 2.4 ГГц! Это уже провал…
Canopus ProCoder / MPEG2
Этот тест можно смело назвать «матчем-реваншем» AMD за проигрыш в Mainconcept MPEG Encoder при кодировании в тот же формат. И опять-таки легко заметить, что проигрыш платформы Intel в очередной раз совпал с тем что «не сыграл» один из ее главных козырей — виртуальная многопроцессорность. Нет, такого потрясающего эффекта как в Mainconcept MPEG Encoder при кодировании MPEG1 не наблюдается, просто Canopus ProCoder практически не реагирует на наличие второго виртуального CPU. А вот большой объем L2 у этой программы явно в чести — лишь один Celeron из всех (2.4 ГГц) смог выиграть у Pentium 4 2.0 ГГц. Да и по результатам сравнения Barton и Thorton хорошо видно, что в данном случае «размер имеет значение». После этого особенно не приходится удивляться, что верхние ступеньки пьедестала почета занимают процессоры с самым большим объемом L2 cache — AMD Athlon 64 3200+ и Athlon 64 FX-51. Однако (кивок в сторону будущего), если судить по этому признаку, то получается, что столь же хороших результатов мы вправе ждать от Pentium 4 «Prescott»…
Cinema Craft Encoder SP / MPEG2
Cinema Craft Encoder SP оказался простецким донельзя: предпочитаемая архитектура — NetBurst (Pentium 4 / Celeron), L2-кэш — чем больше, тем лучше. При этом из двух основных предрасположенностей большее значение все-таки имеет архитектура — Pentium 4 3.2 ГГц занимает первое место, Athlon 64 3200+ / FX-51 с одномегабайтным L2 — второе и третье. Celeron — полностью «в пролете», нижняя двухгигагерцевая модель даже показала практически совпадающий результат с Duron 1400 МГц (не помогло даже ядро NetBurst). Собственно, больше и говорить не о чем, совершенно прозрачный и предсказуемый тест (в том смысле что теперь, когда нам известно, что он «любит», предсказать результаты других процессоров особого труда не составит).
Выводы
Как и всегда, можно констатировать лишь то, что однозначных предпочтений «по кодированию видео вообще» просто нет. Правда, по крайней мере, можно вычленить факторы, на которые использованные нами тесты вообще реагируют. Это:
- Архитектура (Intel NetBurst, AMD K7, и даже иногда в виде отдельного пункта AMD K8);
- Объем кэша второго уровня;
- Наличие «виртуальной многопроцессорности» (Hyper-Threading);
- Скорость работы с ОЗУ / пропускная способность шины CPU (ПСП).
Нетрудно заметить, что частоту мы исключили — на ее возрастание в рамках одной архитектуры практически все тесты реагируют одинаково. Соответственно, можно составить некий «список предпочтений». Попробуем…
- DivX 5.1.1: любит ядро NetBurst (Pentium 4 / Celeron), неравнодушен к большому кэшу, влияния ПСП на производительность не прослеживается.
- XviD 1.0 beta 2 (напомним, что рассматривалась не самая новая версия): подчеркнуто любит все процессоры AMD, местами незначительно чувствителен к ПСП и объему L2.
- Windows Media Video 9 VCM: практически нечувствителен к кэшу, хорошо поддерживает виртуальную многопроцессорность, но в то же самое время весьма неравнодушен к ядру AMD K8 (то ли за счет наличия поддержки SSE2, то ли за счет встроенного контроллера памяти, а скорее всего и то и другое).
- Mainconcept MPEG Encoder 1.4 / MPEG1: существенно тормозит при включении Hyper-Threading, к кэшу более-менее равнодушен, любит ядро K8 (видимо, за комбинацию K7+SSE2 потому что чувствительность к ПСП не просматривается).
- Mainconcept MPEG Encoder 1.4 / MPEG2: очень хорошая поддержка Hyper-Threading, достаточно равнодушен к кэшу, предпочитает ядро NetBurst (причем даже без Hyper-Threading). Обратите внимание, как меняются предпочтения этой программы в зависимости от того, в какой формат она кодирует.
- Canopus ProCoder 1.25: равнодушен к Hyper-Threading, очень неравнодушен к объему кэша, архитектурные предпочтения слабо выражены, явное влияние ПСП на производительность не прослеживается.
- Cinema Craft Encoder SP 2.67: предпочитает большой кэш и архитектуру NetBurst, последнее — больше, чем первое. К Hyper-Threading почти равнодушен, влияние ПСП не прослеживается.
Вот, собственно, и все. Остальное зависит от того, каким ПО вы пользуетесь наиболее часто.