Цифровое видео

         

Цифровой нелинейный монтаж. Комментарий к Части 5.


В своей статье о в Части 5, автор материала

Александр Чемерис сказал следующее:

Автору удалось убедится в этом при работе на ЦП iP-150 и AMD K6-200. Так, несмотря на то, что

практически все тесты показывали практически 1,5-2 превосходство АМD, реально ЦП от Intel при

просчете в Premiere 4.2 (без ММХ инструкций) работал на 5%-10% быстрее AMD.

Очень неплохо показали себя процессоры iPPro. Так РС с Ppro-200 256 Кбайт КЭШ при работе с Premiere 4.2 (c ММХ!) практически не уступал, а иногда и превосходил P-II 300. Правда надо заметить, что использовалась NT 4.0, для которой оптимизирован PPro. Жаль, что Intel отказалась от дальнейшего развития этой линии, мне кажется что PPro 450 под NT не оставил бы шансов Xeon'у.

Хочу прокомментировать эти два абзаца. Тем более, что, как мне кажется, это будет небезинтересно всем.

Все правильно по цифрам, наверное. По существу же объяснений у меня есть возражения:

1. AMD во времена к6 - 200 сильно уступала INTEL по скорости вычислений с

плавающей запятой. Поэтому и результат измерений не в его пользу. Синтетические тесты обычно либо

вообще роль FPU сводят к нулю (статистический вес вычислений с плавающей запятой в типичном наборе

приложений по ZDNET невелик), либо если измеряют, то взвесь всех команд FPU разом, даже весьма

экзотических. В нелинейном монтаже используется в основном float и возможно с другими стат весами,



чем принято в zdnet.

2. Нам всегда говорили, что PII - это PPRO с MMX, но с кэшем, работающим на

половинной частоте процессора. И еще там "починили" оптимизацию под NT. Все знают, что

Интел "забыл" сделать быстрой одну команду PPRO, от чего он тормозил на 16 битном коде Windows 95. Вот такая была оптимизация под NT.

Как можно объяснить замедление PII по сравнению с PPRO - скорость общения с памятью у них для варианта PPRO200 - PII300 примерно одинаковая.

Некоторое уменьшение частоты работы кэша в PII компенсируется его большим размером. И системная плата для PII побыстрее работает. Заметно. Я имел возможность летом 1997 года пристрастно сравнить именно эти конфигурации на работе по просьбе людей, принимавших решения покупке. PII выиграл по всем статьям.


Время от времени я использовал свой рабочий PPRO200 для производства видео (короткие ролики-поздравления со всякими событиями).

Так вот - неправда, что PPRO лучше PII. Если нет ММХ, они одинаковы совершенно. При одинаковых тактовых частотах. Разница может быть обусловлена чем-то еще. Особенно под NT и особенно из-за дисковой подсистемы.

Как мне помнится, у NT проблемы были с bus mastering для IDE дисков. А тогда при большой скорости перезаписи видео при рендеринге процессор только диском и занят. Для SCSI все будет лучше. Хотя мой рабочий UW SCSI IBM 4.3 G и не был гигантом производительности, но процессорное время не ел.

И все равно PII 300+NT+IDE busmastering UDMA на соседнем компьютере был быстрее. Меня это интересовало чисто по причине природной склонности к экспериментам, потому и данными располагаю.

ММХ. Adobe утверждает, что ускорение от ММХ составляет от 300% до 1%, в зависимости от типа эффекта. На задачах типа компрессии Xing MPEG ускорение от ММХ примерно трехкратное или даже больше. Еще один случай, когда от ММХ есть толк, это Indeo 5.0x. Выигрыш даже на P250 MMX (3x83) по сравнению с PPRO не менее двух раз.

Частота шины памяти. У меня дома до перемены на Celeron 464 был PII 266 c коэффициентами умножения от 1.5 до 4.5.

В вариантах 310=124*2.5 , 333=83*4 , 338=75*4.5, 336=112*3 , 300=66*4.5, 300=75*4 время кодирования тестового фрагмента видео в МПЕГ менялось обратно пропорционально тактовой частоте процессора с отклонениями от этой зависимоси не более 1%. Частота шины памяти вообще не сказывалась на быстродействии. Все дело, как видно, в скорости счета, а не пересылки данных. Диапазон изменения условий работы памяти довольно широкий. Да, всегда ставилось CAS delay=2, кроме крайности в 124 мгц, когда это не работало. Вообще говоря, установка CAS только на тестах памяти и меняет что-либо.

КЭШ. Больше 8% разницы в скорости при компрессии MPEG от включения или выключения L2 cache не получается. И на PII, и на Celeron 300a. У вас на сайте уже писали, что в этих условиях разница между PII и Сeleron малозаметна. Так ее и нет, как и в игрушках.



По тестам SYSOFT получается ускорение записи в память с отключенным кэшем. Охотно в это верится, но выводов автора статьи не подтверждает. Даже небольшой кэш на плохих с точки зрения его использования задачах все же лучше никакого.

У меня есть сильное сомнение, что код вычислений для видео эффектов уж такой длинный. Там ведь одни циклы должны быть, и параметрические зависимости считаться. Данных много, а код скорее всего очень компактный. На битовом уровне эффекты может и программируют, но такой код становится плохо переносимым между платформами и писать его придется для каждой. А это дорого, особенно если он длинный. Проще сделать все на более высоком уровне и иметь аргумент для повышения производительности систем. MMX скорее исключение из правила.

Еще про шину данных.

При сравнении времени компиляции довольно сложного проекта в Visual c++ выяснилось, что для обычных пентиумов при достаточном количестве памяти и быстром диске все определяется скоростью шины памяти.

У меня получилось, что время сборки уменьшается при повышении частоты шины почти обратно пропорционально, даже если искусственно удерживать тактовую частоту процессора. И наоборот, разгон множителем частоты почти никакого выигрыша не давал. Например P100 = 66*1.5 и P200=66*3 отличались на 10 %. Какой был проект - не скажу, я в нем только ресурсы переводил на русский язык. Самой медленной была комбинация 150=50*3 а самой быстрой - 208=83*2.5. Впрочем, удивительно здесь только уж очень выраженное игнорирование множителя частоты процессора, а не сам эффект.

Кстати, у PII300 ничего подобного нет. Мало того, что он собирает проект в полтора раза быстрее PPRO200, ему и частота шины в пределах 66-100 МГц безразлична. Не это удерживает. Более подробно не смотрел.

Григорий Байцур ()



Содержание раздела