Тестирование двухпроцессорных платформ в Photoshop

Автор: AAA
Дата: 01.02.2002
Все фото статьи

Введение


Adobe Photoshop является пожалуй самой популярной программой для обработки изображений. Помимо этого, на мой взгляд, она является самой “самодостаточной” из профессиональных программ, то есть множество пользователей Photoshop в своей работе пользуется только этой программой и не задействуют другие программы. Вследствие этих двух пунктов ясно, что результаты тестирования различных аппаратно-программных конфигураций в Photoshop будут полезны очень многим людям. Именно поэтому наиболее используемые операции при работе в Photoshop включены в комплексные тестовые пакеты, такие как Winstone, Winbench, Sysmark. И подавляющее большинство тестеров в своих обзорах приводят результаты, показываемые именно этими тестовыми пакетами. Хорошо это или плохо? Использование комплексных бенчмарков несомненно очень удобно в первую очередь самим тестерам, так как не требует вмешательства в сам процесс тестирования – от тестера требуется лишь настроить систему и нажать на кнопку “запуск теста”. Опять же, очень удобно и правильно сравнивать возможности различных комплектующих по результатам, полученным с помощью одних и тех же тестовых пакетов, формируя базы результатов различных комплектующих. Однако, при всех достоинствах тестовых пакетов у них есть не меньшие недостатки. К слову сказать, недостатки, которые я приведу, являются обратными сторонами достоинств.
Во-первых, тестовые пакеты включают в себя не только бенчмарки собственно в Photoshop и, соответственно, под Photoshop не оптимизируются. Это приводит к тому, что набор функций и фильтров Photoshop, с помощью которых получают результаты, является во всех вариантах далеко не полным, а во многих случаях еще и неоптимальным. Кроме того, создатели тестовых пакетов всегда стремятся, чтобы их детище смогло запуститься и выдавать корректные результаты на совершенно различных аппаратно-программных конфигурациях. А как Вы понимаете, эти конфигурации могут быть очень различными. Так как тестовые пакеты проектируются так, чтобы работать не только на самом современном оборудовании, то все бенчмарки этих пакетов усредняются и приводятся к общему “аппаратному” знаменателю. Например, по объему памяти в 64Mb. Таким образом уменьшается исходный файл, над которым и проводятся все операции Photoshop, заложенные в тестовый пакет. А уменьшение файла ведет к уменьшению времени, затрачиваемого на выполнение операций, что на быстрых современных системах ведет к тому, что влияние погрешностей в измерении становится недопустимо высоким. Например, увеличение изображения с 1Mb до 25Mb занимает на современных платформах с частотой процессора от 1 Ghz и выше занимает всего около одной (!) секунды. Однако для корректного выполнения такой операции требуется значительный объем памяти – не менее 512Mb. А так как я выше говорил о том, что все комплексные бенчмарки оптимизируются под гораздо меньший объем памяти, то, следовательно, аналогичное действие, то есть изменение размера, будет проводиться не над одномегабайтным файлом в двадцатипятимегабайтный, а скорее всего из 100Kb в 1Мb. На современных платформах эта операция займет меньше одной десятой доли секунды – прибавьте сюда погрешность и Вы поймете, почему Pentium III 1Ghz сможет запросто обогнать в тестовом пакете гораздо более мощный Athlon 1.33Ghz по результатам в Photoshop. И этот “феномен” будет объясняться вовсе не какой-то тайной оптимизацией, а простой ошибкой, вызванной наложением погрешности на несопоставимо малое время самого действия. Кстати, сказав слово “погрешность” необходимо добавить, что сам Photoshop является очень нестабильным бенчмарком, то есть выдает весьма разные результаты на одной и той же аппаратной конфигурации в зависимости от того, какие действия были произведены до тестирования непосредственно в Photoshop. Другими словами, если корректный результат в 3DMAX получить совершенно не сложно, то тестирование в Photoshop напоминает те самые пляски с бубном, а именно - перезапуск перед каждым тестом и повторение каждого теста по 2-3 раза, с усреднением результата. В противном случае разброс до 20% на больших файлах гарантирован. На маленьких же файлах тестирование новейших платформ совершенно не имеет смысла, так как временной размер погрешности будет превосходить время, затрачиваемое на выполнение самых сложных операций в разы.
Итак, я объяснил, почему нельзя серьезно воспринимать результаты систем в Photoshop, полученные с помощью тестовых пакетов. Однако, помимо тестовых пакетов существуют так называемые скрипты, то есть записанные последовательности действий операций Photoshop. По сравнению с комплексными тестировочными пакетами скрипты имеют большое преимущество – они оптимизированы именно под Photoshop, так как не предусматривают тестирование только в этой программе. Вы без труда можете найти скрипты с любым объемом исходного изображения, наиболее продвинутые скрипты также выполняют действия многократно. Однако все скрипты производят все свои операции без единой перезагрузки, потому что при создании скриптов Photoshop нельзя добавить такое “событие” как перезагрузка системы. А без перезагрузки оперативная память очень быстро оказывается в прямом смысле загаженной остатками “прошлых событий”, и для всех последующих действий получается неверный результат. В этом очень просто убедиться лично - создайте максимальный по размеру файл, которым можно оперировать на Вашей системе без обращения к жесткому диску и примените последовательно фильтр Gaussian Blur (с любыми настройками), Undo, снова Gaussian Blur (c теми же настройками), снова Undo, и так, к примеру, 5 раз. Вы увидите, что время выполения второго цикла меньше, чем первого, а третьего – меньше чем второго. Это значит, что Photoshop частично сохраняет, то есть частично кеширует результаты действий, производимых пользователем. Именно поэтому нет никакого смысла проводить несколько “одинаковых” замеров без перезагрузок, что часто встречается в скриптах для тестирования Photoshop. Однако, это еще не все. Если кеширование действий, которое производит Photoshop положительно сказывается на времени выполнения точно такого же действия, то время выполнения любого другого действия только увеличивается вследствии того, что, во-первых, на кеширование тратится память, и ее может просто не хватить для выполнения следующего действия, а во-вторых, должно тратиться время на упорядочивание уже закешированных данных и их обновления. Это не будет очень заметно на небольших файлах, однако продолжительная работа со среднего размера файлами может ввести систему в настоящий ступор, когда значительная часть используемой памяти окажется виртуальной, т.е. гораздо более медленной нежели оперативная. То есть объема оперативной памяти хватает с лихвой для однократного действия над файлом среднего размера, но серия действий приводит к постепенному забиванию большой части памяти кешированными данными и переходу на своп-файл. Именно поэтому большинство профессионалов, работающих с большими файлами регулярно очищают память с помощью специальных программ, и именно поэтому никакого практического смысла результаты тестирования скриптами не имеют. В этом также очень легко убедиться, скачав любой скрипт и прогнав его несколько раз, удивившись в разнице результатов. Еще раз повторюсь, что особенно остро эта проблема получения корректных результатов стоит при тестировании современных систем.
Итак, при тестировании я отказался от скриптов и пакетов бенчмарков. Я замерял время выполнения действия с помощью соответствующей функции, перезапускал систему и производил еще два таких же замера. Полученные результаты усреднялись.

Как мы тестировали


Скорость видеокарты не виляет на работу в Photoshop, поэтому я ограничился тестированием современных аппаратных платформ, т.е. наборов материнская плата-процессор-память. Для тестирования я использовал файл Dune.tif из дистрибутива Photoshop 6.0.
Эта картинка изначально имеет размер 600х600 пикселей и представлена в формате RGB.

Так как время прохождения бенчмарков при операциях над одномегабайтными файлами слишком мало (около 1 сек), то я увеличил этот файл до 3000х3000 пикселей и, соответственно, 25Mb. Время выполнения операции замерялось с помощью специальной функции Photoshop – “timer”. Каждая операция выполнялась три раза, результат усреднялся. Результат указан в секундах с точностью до десятых долей. После выполнения каждой операции система перезагружалась. Я построил материал в форме “описание теста-результаты”, что позволит наиболее полно понять для каких операций предпочтительны какие платформы. Фильтры применялись с установками, указанными на скриншотах, если не сказано другого.

Описание аппаратных конфигураций


Для SocketA платформы я выбрал материнскую плату Tyan TigerMP, наиболее современную и быструю на сегодня плату из широко доступных. Она основана на чипсете AMD 760MP, поддерживает два процессора AMD Athlon/AthlonMP/Duron. На этой плате нет никакого дополнительного интегрированного оборудования, имеется обычный слот AGP 4x, два 32-битных и четыре 64-битных 33-мегагерцовых слота PCI. Имеющиеся четыре слота для установки памяти поддерживают до трех гигабайт PC2100/PC1600 Registered DDR SDRAM. Tiger MP не требует специальных блоков питания.
Сравнивать двухпроцессорную платформу SocketA в этом обзоре мы будем с двухпроцессорной системой Socket370, основанной на материнской плате Iwill DVD266U-RN, на чипсете VIA Apollo Pro266T. Я тестировал эти платы с процессорами AthlonMP 1200Mhz и Pentium III 1133Mhz 512Kb. Я специально не стал сравнивать максимально возможные на сегодняшний день процессоры, так как, во-первых, через месяц «самыми быстрыми» будут уже другие процессоры, во-вторых, из сравнения самых быстрых, но различающихся по тактовой частоте, процессоров, очень затруднительно делать выводы о других процессорах тех же семейств.
То есть я сравнил возможности наиболее современных ядер, используемых в линейках процессоров Intel и AMD, работающих в двухпроцессорных конфигурациях - Palomino (Athlon) и Tualatin (Pentium III-S) на максимально приближенной тактовой частоте – эти результаты можно легко экстраполировать и на все процессоры этих семейств.

Платформа №1
Процессор – 2xAthlon MP 1200Mhz
Материнская плата – Tyan TigerMP
Память – 1024Mb PC2100 DDR SDRAM
Видеокарта – Visiontek GeForce3 Ti500
Жесткий диск – 15Gb IBM DTLA 7200rpm

Платформа №2
Процессор – 2xPentium III 1133Mhz, кеш -512kb
Материнская плата – IWILL DVD266U-RN
Память – 1024Mb PC2100 DDR SDRAM
Видеокарта – Visiontek GeForce3 Ti500
Жесткий диск – 15Gb IBM DTLA 7200rpm

Для возможности сравнения результатов этих двухпроцессорных платформ я добавил результаты «типичной» на сегодняшний день конфигурации на процессоре Pentium 4

Платформа №3
Процессор – Pentium 4 1700Mhz
Материнская плата – Asus P4T
Память – 1024Mb PC800 RDRAM
Видеокарта – Visiontek GeForce3 Ti500
Жесткий диск – 15Gb IBM DTLA 7200rpm

Программное обеспечение
Windows 2000 SP2
Adobe Photoshop 6.01

Часть 2: Тестирование...