Введение
После выхода обновленных процессоров Pentium 4 на ядре Norhwood, оснащенных 512Kb кешем в отличие от «старых» Pentium 4 с ядром Willamette, возникла необходимость понять, какую выгоду может дать кеш вдвое большего размера в профессиональных приложениях как трехмерной, так и двумерной графики.
В прошлом
обзоре я сравнивал линейку процессоров Pentium 4, состоящую из процессоров Pentium 4 2.2GHz, Pentium 4 2.0A GHz, Pentium 2.0GHz и Pentium 4 1.7GHz с системой на базе процессора Athlon XP2000+ в 3DMAX, самой популярной программе для трехмерного моделирования. В этом материале мы рассмотрим скоростные характеристики платформ на базе этих же процессоров в Photoshop – самой популярной программе редактирования изображений.
Описание аппаратных конфигураций
Я выбрал четыре процессора из линейки Pentium 4 и всего один из линейки Athlon XP по следующим соображениям – процессор Pentium 4 2.2GHz является на данный момент «топовой» моделью в ряду Pentium 4, а так как мы сравниваем производительность современных высокопроизводительных однопроцессорных платформ, то его присутствие здесь необходимо. По той же причине был взят Athlon XP 2000+. Процессоры Pentium 4 2.0А GHz и Pentium 4 2.0GHz покажут какой прирост дает увеличение кеш-памяти второго уровня вдвое. А Pentium 4 1.7GHz является макcимально близким по тактовой частоте к процессору Athlon XP 2000+.
Платформа №1:
Процессор – Pentium 4 2.2GHz (512Kb L2), Pentium 4 2.0А GHz (512Kb L2), Pentium 4 2.0GHz (256Kb L2), Pentium 4 1.7GHz (256Kb L2).
Материнская плата – Abit TH7II (i850)
Память – 1024Mb PC800 RDRAM
Видеокарта – NVIDIA GeForce4 Ti4600
Жесткий диск – 20Gb IBM DTLA 7200rpm
Платформа №2:
Процессор – Athlon XP 2000+ (реальная тактовая частота - 1667Mhz)
Материнская плата – Epox 8KHA+ (VIA KT266A)
Память – 1024Mb PC2100 SDRAM
Видеокарта – NVIDIA GeForce4 Ti4600
Жесткий диск – 20Gb IBM DTLA 7200rpm
Программное обеспечение:
Windows 2000 SP2
Adobe Photoshop 6.01
Как мы тестировали
При тестировании я не пользовался пакетами тестов вроде WinStone и скриптами (т.е. «экшенами) для Photoshop по следующим причинам.
Во-первых, тестовые пакеты включают в себя не только бенчмарки собственно в 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”. Каждая операция выполнялась три раза, результат усреднялся. Результат указан в секундах с точностью до десятых долей. После выполнения каждой операции система перезагружалась. Я построил материал в форме “описание теста-результаты”, что позволит наиболее полно понять для каких операций предпочтительны какие платформы. Фильтры применялись с установками, указанными на скриншотах, если не сказано другого.
Далее: Часть 2. Тестирование...