Введение
Совсем недавно я написал
статью о влиянии технологии HyperThreading на скорость работы 3ds max5, и теперь настало время разобраться с этим же вопросом, но только относительно Photoshop 7. Ни для кого не секрет, что эти две программы (3ds max и Photoshop) являются лучшими в своих классах, и подавляющее большинство пользователей 3ds max использует для обработки текстур Photoshop. Как мы знаем Photoshop является хорошо оптимизированным под многопоточную обработку приложением, а технология HyperThreading эмулирует на рассматриваемом процессоре Pentium 4 3.06ГГц двухпроцессорную систему. Следовательно, процессоры с HyperThreading должны иметь большое преимущество при обработке эффектов Photoshop. А так как работа в Photoshop в основном состоит из применения к изображению всевозможных действий, фильтров и эффектов, то в зависимости от степени оптимизации алгоритма, по которому рассчитывается тот или иной фильтр или эффект, производительность должна изменяться. Давайте теперь посмотрим, как это выглядит на практике.
Как я тестировал
Аппаратная конфигурация №1:
Процессор – Pentium 4 3.06GHz HyperThreading Enabled
Материнская плата – Asus P4PE
Память – 1024Mb PC333 DDR SDRAM
Видеокарта – NVIDIA GeForce4 Ti4600
Жесткий диск – 20Gb IBM DTLA 7200rpm
Аппаратная конфигурация №2:
Процессор – Pentium 4 3.06GHz HyperThreading Disabled
Материнская плата – Asus P4PE
Память – 1024Mb PC333 DDR SDRAM
Видеокарта – NVIDIA GeForce4 Ti4600
Жесткий диск – 20Gb IBM DTLA 7200rpm
Программное обеспечение:
Windows XP SP1
Adobe Photoshop 7.0
По традиции (причину которой я уже многократно объяснял в предыдущих материалах, посвященных тестированию аппаратных конфигураций в Photoshop), я не пользовался скриптами или пакетами для тестирования и тестировал «вручную»: выполнял набор наиболее распространенных операций Photoshop и засекал время их выполнения секундомером (меньший результат - лучший). Каждая операция выполнялась 3 раза, после каждой операции компьютер перезагружался, время выполнения операции усреднялось. Для тестирования я использовал файл Dune.tif из дистрибутива Photoshop, увеличенный до 4000х4000 пикселей (итоговый файл занимает 45.7Mb)
Тестирование
Бенчмарк №1: Gaussian Blur Фильты из раздела Blur используются для смягчения слишком контрастных участков изображения и широко применяются для подавления зернистости изображений. Фильтр Gaussian Blur позволяет настраивать радиус действия фильтра. Gaussian Blur – один из самых часто употребляемых фильтров Photoshop. Для того, чтобы основательно загрузить связку материнская плата-процессор-память, я использовал довольно-таки большое для “обычных” ситуаций значение 75.
Результаты тестирования:Бенчмарк №2: Smart Blur Еще одна разновидность “сглаживающего” фильтра. Этот фильтр позволяет настроить значительно больше параметров, нежели Gaussian Blur:
Результаты тестирования:Бенчмарк №3: Diffuse Glow Этот фильтр позволяет создавать рассеянное свечение.
Результаты тестирования:Бенчмарк №4: Glass Этот фильтр идеален для создания эффекта стекла, находящегося перед изображением. Фильтр имеет богатые настройки, что позволяет создавать совершенно разнообразные эффекты.
Результаты тестирования:Бенчмарк №5: Crystallize Как ясно из названия, этот фильтр создает эффект кристаллизации. Фильтр имеет лишь одну настройку – размер ячейки.
Результаты тестирования:Бенчмарк №6: Lens Flare Этот фильтр используется для создания эффекта линз:
Результаты тестирования:Бенчмарк №7: Lightning Effects Фильтр Lightning Effects, как видно из названия позволяет создавать различные световые эффекты. Фильтр чрезвычайно богат настройками, благодаря которым можно накладывать совершенно разнообразные эффекты освещения.
Результаты тестирования:Фильтры Lens Flare и Lightning Effects относят к группе фильтров Render, и эффекты этой группы фильтров рассчитываются в основном с помощью математического сопроцессора.
Бенчмарк №8: Sharpen Edges Этот фильтр применяется для увеличения резкости на резких переходах цветов, т.е. “краях” объектов. Фильтр не имеет настроек.
Результаты тестирования:Бенчмарк №9: Unsharp Mask Фильтр Unsharp Mask предназначен для увеличения резкости и контрастности изображения. То есть, этот фильтр выполняет действия, обратные действиям фильтра Gaussian Blur.
Результаты тестирования:Бенчмарк №10: Bas Relief Этот фильтр используется для получения эффекта рельефа.
Результаты тестирования:Бенчмарк №11: Water Paper Результаты тестирования: Фильтры Chrome, Bass Relief и Water Paper относятся к одной подгруппе фильтров – Sketch.
Бенчмарк №12: Extrude Фильтр Extrude позволяет получить довольно забавные эффекты:
В этом бенчмарке я использовал следующие настройки:
Результаты тестирования:Бенчмарк №13: Find Edges Фильтр Find Edges выделяет цветовые переходы изображения.
Результаты тестирования:Бенчмарк №14: Rotate Canvas Я выполнял поворот холста на 1 градус и 99 градусов по часовой стрелке.
Результаты тестирования:Бенчмарк №15: Перевод в другие цветовые системы Как Вы помните, исходное изображение представлено в формате RGB. Я переводил изображение в Grayscale, CMYK и Lab Color.
Результаты тестирования:Выводы
Как видно, в зависимости от используемого фильтром алгоритма производительность может увеличиваться от единиц процентов до 40%. Фильтры категории Blur активно используют SSE, поэтому прирост там небольшой, напротив, просто счетные действия вроде поворота изображения на заданный угол получают прирост до 25%. По результатам тестирования, можно сделать вывод об исключительной полезности HyperThreading при работе в Photoshop.